home *** CD-ROM | disk | FTP | other *** search
/ Merciful 1 / Merciful - Disc 1.iso / software / m / music_x_ii / music_x.txt next >
Text File  |  1995-10-14  |  235KB  |  5,267 lines

  1.                                     MUSIC X
  2.  
  3. NOTE:  If the illustrations look odd, its because this document was full
  4. of control codes, so dont blame me!
  5.  
  6.  
  7. SEQUENCER PAGE
  8.  
  9. OVERVIEW
  10.         The Sequencer Page can be considered the primary page in Music-X;
  11. Music-X's primary job is to be a MIDI sequencer, and the Sequencer Page
  12. contains the features that allow it to do that.
  13.  
  14.         The basic idea behind a MIDI sequencer is to provide a way for a
  15. composer to record instrument parts one by one, edit them to
  16. satisfaction, and play them back together on MIDI instruments.  This is
  17. analogous to a multi-track tape recorder, but it goes far beyond the
  18. analogy.
  19.  
  20.         There are many different approaches to assembling a piece of music
  21. with a sequencer.  Some people prefer to record each instrument on its
  22. own sequence "top to bottom", that is, for the whole length of the song.
  23. Other people like to overdub all the instruments onto a single sequence
  24. the length of one section, and then append various sections to make the
  25. song.  Music-X was written to accommodate everybody.  A sequence may be
  26. as long as the whole piece (up to 4096 measures), or as short as one
  27. measure, and may contain the    data for one instrument or all the
  28. instruments.  A sequence may also contain events that play other
  29. sequences.  Up to twenty sequences may be playing at any one time, and
  30. there are 250 empty sequences to work with.  By combining these
  31. attributes, any modality for composing music on a sequencer can be
  32. emulated.  Some of the various modalities are covered in more detail, in
  33. the Advanced Users chapter.
  34.  
  35.         The rest of this chapter describes, in detail, the functions
  36. available in the Sequencer Page, roughly in the order that they are
  37. found on the screen, left to right, top to bottom.
  38.  
  39. TITLE BAR
  40.         The Title Bar is found along the top of all pages in Music-X to
  41. remind one where one is.  "MUSIC-X" is always written at the left end
  42. of the Title Bar.       At the right end, the title of the current page is
  43. written; in the Sequencer Page, this will be "SEQUENCER".  In the
  44. Sequencer Page, the name of the current performance will appear
  45. written after the abbreviation PERF:, in the middle of the title
  46. bar.  For example, "Perf:MySong.Perf".  This name changes when a new
  47. performance is loaded or when the current performance is saved using a
  48. new and different name.
  49.  
  50.         The Title Bar becomes the Menu Bar whenever the right mouse button
  51. is pressed.  The Menu Bar contains the titles of menus that can be
  52. accessed by moving the mouse pointer to the menu title as you continue to
  53. hold the right mouse button down.
  54.  
  55.         (See Sequencer Page / File Menu / Load Performance)
  56.         (See Sequencer Page / File Menu / Save Performance)
  57.  
  58. MODEMENU
  59.         The Mode menu is found in each of the four main pages in Music-X.
  60. By choosing the four pages listed in the Mode menu, one moves about in
  61. Music-X.  Additional pages are accessible only from within the main
  62. pages, using other menus or screen controls.
  63.  
  64.         Below are descriptions of the menu items found in the Mode menu,
  65. including short descriptions of the main pages and any ancillary pages
  66. accessible.
  67.  
  68. ABOUT MUSIC-X
  69.         This menu item brings up a window that shows the Author of Music-X,
  70. and the author and title of the current performance in memory.  If you
  71. have previously set your song's title and author, they will appear in
  72. this window.  Clicking the left mouse button, or pressing any key, closes
  73. this window.
  74.  
  75.         (See Sequencer Page / File Menu / Set Author Name)
  76.  
  77. SUSPEND
  78.         (RightAmiga-"." from the keyboard)
  79.  
  80.                         *************************************
  81.                      *    Music-X Operation Suspended.   *
  82.                         *    Serial Port is now available.  *
  83.                         *           **************          *
  84.                         *           *   RESUME   *          *
  85.                         *           **************          *
  86.                         *************************************
  87.  
  88. Illustration 6.2: Suspend Prompt.
  89.  
  90.  
  91.         MIDI uses serial port.  To maintain data integrity, Music-X takes
  92. over the        serial port and locks out other programmes.  If you need to
  93. temporarily use the serial port for another application (for
  94. instance, a telecommunications programme), you can suspend Music-X by
  95. choosing this menu item.  As long as this window is showing, Music-X is
  96. suspended.  When you are finished, click RESUME or press the RETURN
  97. key to resume the Music-X session.
  98.  
  99. SEQUENCER
  100.         (RightAmiga-"S" from the keyboard)
  101.  
  102.         Choosing this menu item will get you back to the Sequencer Page from
  103. any of the other three main pages where the Mode menu is available
  104. (Filters Page,  Amiga Samples Page, Librarian Page).  The Sequencer
  105. Page is used to record,         edit, and play musical sequences.  The Bar
  106. Editor and Event Editor Pages are accessible from this page as well.
  107.  
  108. SET FILTERS
  109.         (RightAmiga-"F" from the keyboard)
  110.  
  111.         This is how you get to the Filters Page, from which you may also
  112. access the Keymap Editor Page.  These pages are used to reroute or
  113. reinterpret incoming MIDI data.
  114.  
  115. AMIGA SAMPLES
  116.         (RightAmiga-"A" from the keyboard)
  117.  
  118.         This is how you get to the Amiga Samples Page, where you load,
  119. manipulate, and save sounds for the internal Amiga voices.
  120.  
  121. LIBRARIAN
  122.         (RightAmiga-"L" from the keyboard)
  123.  
  124.         This is how you get to the Librarian Page.  From there you can send
  125. and     receive system-exclusive patch data for any synthesizers or MIDI
  126. devices that you have connected to your system.
  127.  
  128. QUIT
  129.         (RightAmiga-"Q" from the keyboard)
  130.  
  131.         Choosing this menu item will quit Misic-X and return to the Amiga
  132. Workbench.  Be sure to save your music before quitting if needed.
  133.  
  134.         (See Sequencer Page / File Menu / Save Performance)
  135.  
  136.         A safety prompt will appear to prevent you from leaving the
  137. programme by accident.  If you change your mind, click NO and you will be
  138. safely returned to Music-X.  If you indeed want to quit, click YES or
  139. press RETURN key.       Music-X will graciously return the memory to your
  140. Amiga's Operating System.
  141.  
  142.                          ************************************
  143.                          *     Do you really want to        *
  144.                          *        QUIT  Music-X ?           *
  145.                          *    ********           ********   *
  146.                          *    *  NO  *           *  YES *   *
  147.                          *    ********           ********   *
  148.                          ************************************
  149.  
  150. Illustration 6.3: Quit Safety Prompt
  151.  
  152.  
  153. FILEMENU
  154.         A File menu is found in every page in Music-X.  Each page can load
  155. and save        disk files relevant to its particular function.  The Sequencer
  156. Page is unique, however, in that it can also Load, Save, and Merge
  157. Performance files.  A single Performance file can contain all the files
  158. as would be saved by each page individually.  These component files in a
  159. Performance file are called "subfiles".  A list of the various subfile
  160. types is found below under the description of the SAVE PERFORMANCE
  161. function.
  162.  
  163.         When you boot Music-X by double clicking on its icon in the
  164. Workbench, Music-X looks on the Music-X Programme disk for a performance
  165. file called "Default.Perf".  It then loads this performance file and
  166. finishes booting itself.  By rewriting the default performance file, you
  167. can have Music-X boot in any configuration you want.
  168.  
  169.         You can also boot Music-X by double clicking on the icon of one of
  170. its     performance files.  In this case, the chosen performance file is
  171. loaded instead of the default performance file.
  172.  
  173.         Following are descriptions of the items found in the Sequencer Page
  174. / File Menu.
  175.  
  176. MERGE PERFORMANCE
  177.         Choosing this menu item loads a previously saved performance file
  178. into    memory from disk, without first erasing the sequences currently in
  179. memory.         Sequences being merged in from the new performance file will
  180. overwrite only  those current sequences occupying the list positions that
  181. they use.  (This is similar to the "Merge to Front" function found
  182. commonly in paint programmes).  Any old sequences not rewritten by the
  183. loading of the new performance file will still be in memory after the
  184. merge.  Any other subfiles (Libraries, Keymaps, etc) in the new
  185. performance file will be        loaded during the merge as well.
  186.  
  187.         If you need more control over the transporting of sequences between
  188. performance files, then Load or Save the sequences individually.
  189.  
  190.         (See Sequencer Page / File Menu / Load Sequence (below))
  191.         (See Bar Editor / File Menu / Load)
  192.         (See Bar Editor / File Menu / Save_
  193.  
  194. LOAD PERFORMANCE
  195.         (RightAmiga-"P" from the keyboard)
  196.  
  197.         This menu item is used to Load a previously saved performance file
  198. into    memory from disk.  Any subfiles, loaded with the performance file,
  199. overwrite the relevant data in Music-X.  That is, if Keymap subfiles are
  200. present in the Performance file, they overwrite the current Keymaps in
  201. Music-X.  Or, if Filter subfiles are present in the Performance file,
  202. they overwrite the      current Filters in Music-X.  Conversly, if a subfile
  203. is not present in the performance file, the relevant data remains
  204. unaffected.  The two exceptions are with Sequence subfiles and Library
  205. subfiles.  Unlike MERGE PERFORMANCE, LOAD PERFORMANCE erases all the old
  206. sequences and libraries in memory before loading the new performance
  207. file.  Each time you load a new performance file, you should go to
  208. Librarian Page and check if any libraries were loaded   with the
  209. performance, and if so, send them to the synthesizers in your system.
  210.  
  211.         (See "Save Performance" below for descriptions of the subfile
  212. types).
  213.  
  214.         After you chose LOAD PERFORMANCE, the file requester window will
  215. appear.         Use this requester to locate the performance file you wish to
  216. load.
  217.  
  218.         (See File Requester chapter)
  219.  
  220.         If the Amiga runs out of memory loading a big performance file,
  221. Music-X will put up a "Not Enough Memory" prompt.  If this happens, close
  222. any other programmes currently in the Amiga's memory, and try again.
  223.  
  224.         *Note:  It is possible to load music written on other music
  225. programmes by first converting their files to Music-X performance files.
  226. Programmes are provided on the Music-X Utilities disk to do this.
  227.  
  228.         (See Advanced Users / File Conversions)
  229.  
  230. SAVE PERFORMANCE
  231.         (RightAmiga-"V" from the keyboard)
  232.  
  233.         A performance file is like a "snapshot" of the status of all the
  234. various Music-X pages.  SAVE PERFORMANCE lets you save all the parameters
  235. in one composite file called a performance file.
  236.  
  237.         *Note:  If you want to show off multiasking, try saving a
  238. performance while it is playing back.
  239.  
  240.         Choosing SAVE PERFORMANCE first calls the Subfile window, where you
  241. set     which subfiles are to be included in the performance file.  A list
  242. of subfile types is given with a switch for each.  The default action is
  243. to save everything; all the switches are on and highlighted in light
  244. blue.
  245.  
  246.         *Note:  If a subfile is NOT included in a performance-file save,
  247. then it         will not be reloaded later and will not overwrite any related
  248. parameters at   that time.
  249.  
  250.         After setting the subfile switches, clikc OK to close and Subfile
  251. window and continue to the SAVE PERFORMANCE File Requester, or press "O"
  252. for (O)K for "Y" for (Y)es.  Or, if you decide against saving the
  253. performance file after all, click on CANCEL, or press "C" for (C)ANCEL or
  254. "N" for (N)o.
  255.  
  256.         Once you reach the File Requester, use it to locate the correct disk
  257. and     directory.  Then type in the name of your new performance file in
  258. the FILE:       text box, and click OK to save the performance.  Music-X will
  259. also create and save an icon for the performance file in the same
  260. directory as the performance file.  Performance file icons look like
  261. music cassettes.  The Default.perf icon in the Music-X programme disk is
  262. an example of a performance icon.
  263.  
  264.         (See File Requester chapter)
  265.  
  266.         *Note:  Remember to back up your data disk at the end of the
  267. sequencing session.
  268.  
  269.                           ***********************************
  270.                           *        Save Performance         *
  271.                           ***********************************
  272.                           *   ((()))    Sequences           *
  273.                           *   ((()))    Libraries           *
  274.                           *   ((()))    Filter Settings     *
  275.                           *   ((()))    Keymaps             *
  276.                           *   ((()))    Output Channels     *
  277.                           *   ((()))    Sync Settings       *
  278.                           *   ((()))    Time Parameters     *
  279.                           *   ((()))    Sample Data         *
  280.                           ***********************************
  281.                           * (OK)                (CANCEL)    *
  282.                           ***********************************
  283.  
  284. Illustration 6.4: Subfile switches
  285.  
  286.         Following are descriptions of the subfile switches.
  287.  
  288. SEQUENCES
  289.         Any non-empty sequences are saved with the performance file if this
  290. switch is on.  YOu could conceivably choose not to save sequences, if you
  291. were creating some sort of blank, template-type performance file with all
  292. the other parameters set up in a particular way; later, when reloading
  293. the template, any sequences in memory would not be erased, but the rest
  294. of the parameters would be reset.
  295.  
  296.         *Note:  Individual Sequence files may be loaded and saved from the
  297. Editor Pages.
  298.  
  299.         (See Bar Editor / File Menu / Load)
  300.         (See Bar Editor / File Menu / Save)
  301.  
  302.         The current Song Title and Author, as set with the SET AUTHOR NAME
  303. option in the File menu, are also saved in the performance file when the
  304. SEQUENCES switch is on.
  305.  
  306.         (See Sequencer Page / File Menu / Set Author Name)
  307.  
  308. LIBRARIES
  309.         This subfile switch saves all patch libraries currently in memory.
  310. (Up to l0 libraries can be resident in memory at once).  Later, when you
  311. load the performance file, the patches will be available to send to the
  312. synths from the Librarian Page.  This allows repreduction of the specific
  313. external sounds you were using when you first created and saved your
  314. performance.
  315.  
  316.         *Note:  Individual Library files may be loaded and saved from the
  317. Librarian Page.
  318.  
  319.         (See Librarian Page / File Menu / Load)
  320.         (See Librarian Page / File Menu / Save)
  321.  
  322. LIBRARIES
  323.         This subfile switch saves all patch libraries currently in memory.
  324. (Up to l0 libraries can be resident in memory at once).  Later, when you
  325. load the performance file, the patches will be available to send to the
  326. synths from the Librarian Page.  This allows reproduction of the specific
  327. external        sounds you were using when you first created and saved your
  328. performance.
  329.  
  330.         *Note:  Individual Library files may be loaded and saved from the
  331. Librarian Page.
  332.  
  333.         (See Librarian Page / File Menu / Load)
  334.         (See Librarian Page / File Menu / Save)
  335.  
  336. FILTER SETTINGS
  337.         This subfile switch causes the current settings for all l6 filters
  338. in the Filters Page to be saved with the performance file.  Settings
  339. include the REMAP and ENABLE switch states, and the continuous slider
  340. positions.  Keymaps are not included; they have their own switch (see
  341. below).
  342.  
  343.         *Note:  Individual Filter files may be loaded and saved from the
  344. Filters Page.
  345.  
  346.         (See Filters Page / File Menu / Load)
  347.         (See Filters Page / File Menu / Save)
  348.  
  349. KEYMAPS
  350.         This subfile switch causes the four Keymaps, created in the Keymap
  351. Editor Page and used by the Filters Page, to be saved with the
  352. performance file.
  353.  
  354.         *Note:  Individual Keymap files may be loaded and saved from the
  355. Keymap Editor Page.
  356.  
  357.         (See Keymap Editor / File Menu / Load)
  358.         (See Keymap Editor / File Menu / Save)
  359.  
  360. OUTPUT CHANNELS
  361.         When this switch is on, all the settings of the Sequencer Page /
  362. Sync Menu are saved in your performance file.  This is handy if you use a
  363. drum machine or are doing film or video scoring.  At reload, the old sync
  364. settings will   be duplicated eliminating the need to manually reconfigure
  365. your system.
  366.  
  367.         The Audio Filter setting, as set in the Samples Page, is also saved
  368. in the performance file when the SYNC SETTINGS switch is on.
  369.  
  370.         (See Samples Page / Options Menu / Audio Filter)
  371.  
  372. TIME PARAMETERS
  373.         This switch saves the current master Tempo setting, the current
  374. master Time Signature setting, and the locations stores in the CUE
  375. buttons.
  376.  
  377.         (See Sequencer Page / Tempo Window)
  378.         (See Sequencer Page / Time Signature Window)
  379.         (See Sequencer Page / Tape Transport Window / CUE Buttons)
  380.  
  381. SAMPLE DATA
  382.         When this switch is on, any samples currently in memory will be
  383. saved along with your performance file.
  384.  
  385.         Sample data can use lots of disk memory.  If you have a standard set
  386. of samples that you always use, then there is no need to keep resaving
  387. them with your performance files.  You may wish instead to create a
  388. "sample template" performance file by first loading your favorite samples
  389. individually using the Samples Page, and then saving a performance file
  390. with all of the subfile switches turned off except SAMPLE DATA.  Then you
  391. would only need to load that one performance file once, before playing
  392. any of the songs that use those samples.
  393.  
  394.         *Note:  Individual Sample files may be loaded and saved from the
  395. Sample Page.
  396.  
  397.         (See Samples Page / File Menu / Load)
  398.         (See Samples Page / File Menu / Save)
  399.  
  400. LOAD SEQUENCE
  401.         This item in the File menu is used to Load a sequence file from disk
  402. into the current sequence (highlighted in the sequence list), overwriting
  403. its previous contents.
  404.  
  405.         After you choose LOAD SEQUENCE, the File Requester will appear.  Use
  406. it to locate the file you want and click OK to load the sequence.
  407.  
  408.         (See File Requester Chapter)
  409.  
  410.         *Note:  SAVE SEQUENCE has not been made available from the Sequencer
  411. Page / File Menu, to prevent the accidental saving of a single sequence
  412. when the intention was to save all sequences in a Performance file.
  413. Individual sequences can be Loaded and Saved from within the Bar Editor
  414. or Event Editor.
  415.  
  416.         (See Bar Editor / File Menu / Load)
  417.         (See Bar Editor / File Menu / Save)
  418.  
  419. SET AUTHOR NAME
  420.         Here is where you set the Title and Author of the current
  421. performance in memory.  These settings will appear in the ABOUT MUSIC-X
  422. box, and are automatically saved with any performance file.
  423.  
  424.         (See Sequencer Page / Mode Menu / About Music-X)
  425.  
  426.  
  427.      **************************************************************
  428.         *  (OK) *  Song Title:  *   Peanut Butter Jamboree           *
  429.         *       *      Author:  *   Sticky Vicky                     *
  430.         **************************************************************
  431.  
  432. Illustration 6.5: Set Author Name Window.
  433.  
  434.         When you choose this menu item, the above window appears showing the
  435. current settings.  Here is how to change those settings.
  436.  
  437.         ()   Click the SONG TITLE text box, then use the Amiga's keyboard to
  438. type in the name.
  439.  
  440.         ()   Click in the AUTHOR text box, then use the Amiga's keyboard to
  441. type in the name.
  442.  
  443.         ()   When done, click OK.
  444.  
  445. OPTIONS MENU
  446.         The Options menu provides extra functions for the Sequencer Page.
  447. The Output Channeliser is accessed from here as well as some global
  448. sequence editing functions like MERGE and EXTRACT.
  449.  
  450.         Following are descriptions of the items available in the Sequencer
  451. Page /  Options Menu.
  452.  
  453. OUTPUT CHANNELS...
  454.         This menu item calls the CHANNELISER window.
  455.  
  456.         What do you do if you load up a friend's song, in which all the drum
  457. parts were recorded on MIDI channel 2, but uh-oh... your drum module ONLY
  458. receives on channel l0.
  459.  
  460.         You can either go down the list and edit the MIDI channels in all
  461. the sequences that contain drum parts, one by one, or, you can redirect
  462. your output channels using the Channeliser.
  463.  
  464.         The Channeliser globally translates all MIDI channel data during
  465. playback only.  For each original MIDI channel there is a translated MIDI
  466. channel.  The original data is left intact.  It is safe to experiment.
  467.  
  468.         The FROM column shows all the possible original MIDI channels (the
  469. channels        your data is on).  The TO column shows the channels you would
  470. like each of these original channels to be translated to.  The SET column
  471. is clicked on to change the TO column; it is merely a list of the numbers
  472. l-l6 provided for speed.
  473.  
  474.         Example:  To switch those drum channels, click on "02" in the FROM
  475. column.         Click on "l0" in the SET column.  Notice the TO column now
  476. shows "10".  Now all the drum parts stored in sequences on MIDI channel 2
  477. will actually be played on MIDI channel l0.
  478.  
  479.                     ******************************
  480.                        *       CHANNELIZER          *
  481.                     ******************************
  482.                        * From        To     ³  Set  *
  483.                        ******************************
  484.                        * 0l -- >     0l     ³   0l  *
  485.                        *(02 -- >     l0 )   ³   02  *
  486.                        * 03 -- >     03     ³   03  *
  487.                        * 04 -- >     04     ³   04  *
  488.                        * 05 -- >     05     ³   05  *
  489.                        * 06 -- >     06     ³   06  *
  490.                        * 07 -- >     07     ³   07  *
  491.                        * 08 -- >     08     ³   08  *
  492.                        * 09 -- >     09     ³   09  *
  493.                        * l0 -- >     l0     ³ ( l0 )*
  494.                        * ll -- >     ll     ³   ll  *
  495.                        * 12 -- >     12     ³   12  *
  496.                        * 13 -- >     13     ³   13  *
  497.                        * 14 -- >     14     ³   14  *
  498.                        * 15 -- >     15     ³   15  *
  499.                        * 16 -- >     16     ³   16  *
  500.                        ******************************
  501.                        * (OK)             (CANCEL)  *
  502.                     ******************************
  503.  
  504. Illustration 6.6:  Output Channelizer
  505.  
  506.         *Note:  Try switching the Channelizer while Music-X is playing.
  507. This works, and might give you a better indication of what it is doing.
  508.  
  509.                  What is really going on:  All Music-X data is recorded
  510.                  and stored with the MIDI-Channel "nybble" intact.  Data
  511.                  is passed through the channelizer on its way out.  The
  512.                  channelizer uses the channel nybble to index a lookup
  513.                  table and substitutes the number found there for the
  514.                  original channel.  This window allows you to edit the
  515.               table.
  516.  
  517.         *Note:  Only notes played back from Music-X sequences are
  518. rechannelized. The channelizer does not affect incoming notes played on
  519. the mother keyboard.  Use the Filters Page to remap incoming MIDI data.
  520.  
  521.         *Note:  The Channelizer settings can be saved with your performance
  522. file.
  523.  
  524.         (See Sequencer Page / File Menu / Save Performance)
  525.  
  526. SET PUNCH-IN
  527.         (Function key Fl from the keyboard)
  528.  
  529.         Choosing this menu item sets the automatic Punch-In point to
  530. whatever the current clock setting is.  First set the musical clock to
  531. the desired Measure, Beat and Subclock.  Then choose this menu item.
  532. This can also be done "on the fly" when in PLAY or RECORD mode by tapping
  533. the Fl key.  Punch-     In is explained in more detail in the section on
  534. recording.
  535.  
  536.         (See Sequencer Page / Transport Window / RECORD)
  537.  
  538. SET PUNCH-OUT
  539.         (Function F2 from the keyboard)
  540.  
  541.         Choosing this menu item sets the automatic Punch-Out point to
  542. whatever the current clock setting is.  First set the musical clock to
  543. the desired Measure, Beat, and Subclock.  Then choose this menu item.
  544. This can also be done "on the fly" when in PLAY or RECORD mode by tapping
  545. the F2 key.
  546.  
  547. COPY SEQUENCE
  548.         (RightAmiga-"C" from the keyboard)
  549.  
  550.         You may wish to keep several versions of a sequence while perfecting
  551. it.     COPY Sequence can be used to create the extra versions.
  552.  
  553.         Choosing this menu item will copy all the data from the current
  554. sequence        (source) to any other sequence in the list (destination).  The
  555. source sequence remains unaffected.  Anything previously in the
  556. destination sequence is, of course, lost.
  557.  
  558.         The source sequence is always the one highlighted before you choose
  559. COPY SEQUENCE.
  560.  
  561.         Choosing COPY SEQUENCE calls the SELECT SEQUENCE TO COPY TO window.
  562. Use this window to define the destination sequence by scrolling through
  563. the sequence list with the CursorUp and CursorDown keys or by dragging
  564. the scroll bar, and clicking on an empty or expendable sequence.  Then
  565. click OK, or press "O" or "Y" to effect the copy.  Or, click CANCEL (or
  566. press "C" for (C)ANCEL or "N" for (N)o) to safely exit this function with
  567. no changes made.
  568.  
  569.         The COPY SEQUENCE option and the next two options in the Options
  570. menu, MERGE SEQUENCE and EXTRACT SEQUENCE, use the "Edit Buffer" as a
  571. temporary working area.  The Edit Buffer is also used to record and edit
  572. sequences.  If the Edit Buffer is not empty when you choose any of these
  573. options, a safety prompt will appear to prevent accidental erasure of
  574. sequence data.
  575.  
  576.                 *****************************************
  577.                    *  WARNING:  The Edit Buffer currently  *
  578.                    *       contains  unsaved  data.        *
  579.                    *    *********  *********  *********    *
  580.                    *    *CANCEL *  *DISCARD*  * STORE *    *
  581.                    *    *********  *********  *********    *
  582.                    *****************************************
  583.  
  584. Illustration 6.7:  Buffer unsaved warning.
  585.  
  586.         The prompt has three choices.  Clicking CANCEL will abort whichever
  587. option you were about to use and return you to the sequencer page.
  588. Clicking        DISCARD will lose the current contents of the Edit Buffer and
  589. continue with   the option as intended.  Clicking STORE will open a
  590. sequence selector window titled STORE TO WHERE?, offering a list of the
  591. 250 possible sequences in memory.  Use the window to choose a sequence
  592. and click OK to store the current contents of the Edit Buffer to that
  593. sequence, clearing the Edit Buffer for use.  After the Edit Buffer is
  594. cleared, you can continue with the originally chosen option.
  595.  
  596. MERGE SEQUENCE
  597.         (RightAmiga-"M" from the keyboard)
  598.  
  599.         Use this menu item to merge the data from the current sequence
  600. (source) into any other sequence in the list (destination).  The source
  601. sequence remains unaffected (unless merging to itself).  The destination
  602. sequence will   contain all its old data plus the data from the source
  603. sequence.  Merging a sequence to itself will create a MIDI doubling of
  604. all the notes in the sequence.
  605.  
  606.         The source sequence is always the one highlighted before you choose
  607. MERGE SEQUENCE.
  608.  
  609.         Choosing MERGE SEQUENCE calls the SELECT SEQUENCE TO MERGE TO
  610. window, showing a sequence list.  Scroll through the list with the
  611. CursorUp and CursorDown keys or by dragging the scroll bar with the
  612. mouse.  Choose the destination sequence by clicking on an empty or
  613. expendable sequence to highlight it.  Then click OK to effect the merge.
  614. Or click CANCEL (or press "C" for (C)ANCEL or "N" for (N)o) to safely
  615. exit this function with no changes made.
  616.  
  617.         Once the merge is initiated Music-X will temporarily ignore the
  618. mouse, to help speed up the merging process.  The amount of time for the
  619. merge to complete depends on the sizes of the sequences being merged.
  620. When Music-X is done merging, it will put up a prompt saying "Merge
  621. Finished".  Click OK button to close the prompt and return to the
  622. Sequencer Page.
  623.  
  624. EXTRACT SEQUENCE
  625.      Think of this as "Extract a new sequence from an old sequence".  You
  626. essentially extract a copy of just the good stuff without affecting the
  627. original.
  628.  
  629.         What Extract does is selectively copy into the Edit Buffer chosen
  630. classes of events from the contents of the current sequence without
  631. altering that sequence.  You must then manually store the buffer
  632. containing the extracted events to a new sequence (using the Sequencer
  633. Page / STORE button).
  634.  
  635.         The source sequence is the one highlighted before you call EXTRACT
  636. SEQUENCE.  The destination sequence is actually the Edit Buffer until you
  637. store it to a spare sequence.
  638.  
  639.         There are three basic event classes that can be Extracted:  Channel
  640. events, System Exclusive data, and Music-X events.
  641.  
  642.      Channel events are thos MIDI events that control instruments on a
  643.      particular MIDI channel:  Notes, Channel After Touch (CAT), Poly-
  644.      phonic After Touch (PAT), Control Changes (CTL), Programme Changes
  645.      (PGM), and Pitch Bend (PBEN).
  646.         System Exclusive data varies with different manufacturers and is
  647.      only understood by the instrument it is intended for.
  648.  
  649.         Music-X events are events that internally control the sequencer in
  650. some way: Play Sequence (PSEQ), Mute Sequence (MSEQ), Solo Sequence
  651. (SSEQ), Mute Tract (MTRK), Solo Track (STRK), Set Repeats (REPT), Set End
  652. (END), Change Keymap (KMAP), Tempo Change (TEMPO), Time Signature Change
  653. (TSIG), and Stop Sequencer (STOP).
  654.  
  655.         *Note:  Event types are described in detail in the Editor chapters.
  656.  
  657.         (See Bar Editor / Event types)
  658.         (See Event Editor / Event types)
  659.  
  660.         After you choose EXTRACT SEQUENCE a window appears titled EXTRACT
  661. WHICH CHANNELS?  All the channels are listed, as well as the two classes
  662. of non-Channel events:  Music-X events, and Systems Exclusive events.
  663. Click on the channel numbers or the other event types (they will appear
  664. highlighted in white) to choose which will be copied into the Edit Buffer
  665. (clicking them again turns them off again).
  666.  
  667.                           ***************************
  668.                           * Extract Which Channels? *
  669.                        ***************************
  670.                           * 01 02 03 04 05 06 07 08 *
  671.                           * 09 l0 ll l2 l3 4l l5 l6 *
  672.                           *       SYSX Events       *
  673.                           *      Music-X Events     *
  674.                        ***************************
  675.                           *  (OK)         (CANCEL)  *
  676.                        ***************************
  677.  
  678. Illustration 6.8: Extract Window.
  679.  
  680.         If any of the channel numbers are switched on, then Channel events
  681. on the chosen channel(s) will be copied into the Edit Buffer.
  682.  
  683.         If the SYSX EVENTS switch is on, then any Music-X events present in
  684. the source sequence will be copied into the Edit Buffer.
  685.  
  686.         How to Extract:
  687.  
  688.         Say we had a composite sequence called "Bass and Drums" containing
  689. two     instruments.  The drums are on MIDI channel l and the bass is on
  690. MIDI channel 2.  Here is how we would separate the instruments into their
  691. own sequences:
  692.  
  693.         - From the Sequencer Page, find the "Bass and Drums" sequence in the
  694. sequence list and highlight it.  This is our source sequence for the
  695. Extract function.
  696.  
  697.         - Choose EXTRACT SEQUENCE from the Options menu.  The EXTRACT WHICH
  698. CHANNELS? window will appear.
  699.  
  700.         - When the requester appears, choose to extract data on MIDI channel
  701. l by clicking "0l".  (It should become highlighted).  Make sure no other
  702. MIDI channels are highlighted; we only want the drum data.
  703.  
  704.         - Click OK to start the extraction.
  705.  
  706.         *Note:  If the Edit Buffer was no empty when you clicked OK, a
  707. safety prompt will appear so you can decide what to do with the data
  708. previously in the buffer.  Clicking DISCARD in the safety prompt will
  709. lose what was in the buffer and let you proceed.
  710.  
  711.         - A prompt will appear when the extraction is finished.  Click OK to
  712. proceed.
  713.  
  714.         - We now have a copy of the drums in the Edit Buffer.  Choose an
  715. empty sequence by highlighting it in the sequence list and click STORE to
  716. write the Edit Buffer into the empty sequence.  The new sequence now
  717. contains the drum part.  Title it "Drums alone", or something, by
  718. clicking in the SEQUENCE NAME field and typing in the name.
  719.  
  720.         We have extracted a copy of just the drums and stored it to a new
  721. location.  Now we will do the same thing for the bass line:
  722.  
  723.         - Select the "Bass and Drums" sequence again and call EXTRACT
  724. SEQUENCE.
  725.  
  726.         -  This time deselect MIDI channel l (drums), by clicking "0l" to
  727. turn it back off, and select MIDI channel 2 (bass) by clicking on "02".
  728. Then click OK.  And again OK at the "Extract Finished" prompt.
  729.  
  730.         - We now have the bass in the Edit Buffer.
  731.  
  732.         - STORE the Edit Buffer to a new sequence and rename it to something
  733. like "Bass alone".
  734.  
  735.         Now that we are finished Extracting, we can DELETE the original
  736. coposite sequence or keep it as a back-up.
  737.  
  738.         If we were really slick, we could have written the Edit Buffer
  739. containing the bass part back to the original "Bass and Drums" sequence,
  740. effectively doing a DELETE and a STORE in one step.
  741.  
  742. ERASE ALL SEQUENCES
  743.         Choosing this menu item erases all sequences currently in memory,
  744. but nothing else.  Cue points, Tempo, Sync settings, and other parameters
  745. are all left in their current state.  This can be used to clear out
  746. sequence space when starting a new piece of music.  A safety prompt will
  747. then appear to prevent inadvertent loss.  Click on YES, or press the
  748. RETURN key to erase the sequences.  Click NO to safely return to Music-X
  749. without erasing the sequences.
  750.  
  751.                               *************************
  752.                               * Do you really want to *
  753.                               *  ERASE all sequences? *
  754.                               * (NO)            (YES) *
  755.                               *************************
  756.  
  757. Illustration 6.9:  Erase Safety Prompt
  758.  
  759. USE ZERO ORIGIN
  760.         This causes the master clock's measure and beat numbers to start at
  761. 0000.00.000 instead of 000l.0l.000, in case you prefer thinking that way
  762. or need to do some frame calculations, etc.  All pages are affected.
  763. This option is active if the menu item is check marked.
  764.  
  765.         (See Sequencer Page / Clock Window)
  766.  
  767. WORKBENCH
  768.         This option is part of a memory saving technique.  In the Amiga, all
  769. the graphics must be stored in a special memory called chip memory, if
  770. they are to be displayed.  Different applications (programmes) reserve
  771. sections of chip memory to use for their graphic "screens".  The Amiga's
  772. Workbench uses a screen and takes up some chip memory.  If Music-X boots
  773. up into a system with little free memory, it may turn off the Workbench
  774. screen to free up some of the chip memory.  This does not mean that the
  775. Workbench is erased or stops running, it just means the screen is not
  776. displayed to save chip memory.  Music-X does this so it will be able to
  777. display its own menus, windows, requesters, and prompts.
  778.  
  779.         While checked, this menu item means that the Workbench screen is
  780. turned on.  One can see and move between the Music-X and Workbench
  781. screens by clicking the front-to-back gadgets or by pulling one down to
  782. reveal the other.
  783.  
  784.         (See Tutorials / Amiga Basics)
  785.  
  786.         When this menu item is not checked, it means the Workbench screen
  787. has been        removed from chip memory and is turned off.  The Workbench can
  788. be turned back on by selecting this menu item.
  789.  
  790. SYNCMENU
  791.         The word synchronous comes from the Greek words: sun for "same", and
  792. khronos for "time".  The Sync menu governs the way Music-X synchronizes
  793. with, or operates at the "same time" as, other time keeping devices.
  794.  
  795.         Settings mae in this menu can be saved and reloaded with any
  796. performance file (including the Default performance), making the
  797. reconstruction of sync setups automatic.
  798.  
  799.         *Note:  If you consistently use the same equipment set up, you might
  800. want to resave the "Default.perf" file with your particular Sync menu
  801. settings.
  802.  
  803.         (See Sequencer Page / File Menu / Save Performance)
  804.  
  805. THE NEED FOR SYNCHRONIZATION
  806.         Music is a time dependent art form.  The applications of electronic
  807. music often involve the use of several time keeping devices at once (drum
  808. machines, sequencers, audio tape recorders, film or video equipment,
  809. etc).  It is rare that any two unconnected time keepers can agree with
  810. each other without eventually drifting apart.  Even if they could, it
  811. would be difficult to independently start them at exactly the same time.
  812. It is therefore necessary to synchronize them somehow.
  813.  
  814.         This is usually done by making one device the leader, or master, and
  815. using it to transmit start, stop, location, and timing information that
  816. the others receive and follow.  That way, even if the leader is wrong,
  817. they all move together.  A common method is to code "messages" into
  818. binary numbers and transmit them electronically as very fast two-state
  819. voltage fluctuations. MIDI and SMPTE are two examples of this method.
  820.  
  821.         *Note:  Music-X has the ability to operate in synchrony with a
  822. number of external time sources (be a follower).  It can also transmit
  823. MIDI Clock and Song Position Pointer messages to synchronize drum
  824. machines and sequencers         (be a leader).  In some cases it can be a leader
  825. and a follower simultaneously.
  826.  
  827. TWO TYPES OF TIME
  828.         Synchronization messages can be divided into two types, those that
  829. transfer        Relative Time information and those that transfer Absolute Time
  830. information.
  831.  
  832.         Relative Time is described in musical terms like "Measures", and
  833. "Beats".        When you say "the second measure of the bridge", you are
  834. speaking of Relative Time.  Two examples of Relative Time synchronization
  835. are MIDI Song Position Pointer and MIDI Clocks (more on those later).
  836.  
  837.         Absolute Time is described in Hours, Minutes, and Seconds.  When you
  838. say, "The gig starts at seven thirty", you are speaking of Absolute Time.
  839. An example of Absolute Time synchronization is SMPTE Time Code (more on
  840. that too).
  841.  
  842.         Music-X has two types of sequences, those that are tempo dependent
  843. (Relative sequences), and those that move with the clock (Absolute
  844. sequences).  Music-     X also has two internal clocks, one for each type of
  845. sequence (Relative and Absolute).
  846.  
  847.         The rest of this chapter contains individual descriptions of the
  848. items found in the Sync menu.
  849.  
  850. MASTER CLOCK
  851.         The MASTER CLOCK setting determines which source will be monitored
  852. to keep Music-X moving through time.  Music-X actually always runs on its
  853. own internal clock.  As timing messages are received from the current
  854. Master Clock source, Music-X's internal clock is reset to match them.
  855. This provides as fine an internal resolution as possible by allowing
  856. Music-X to play between incoming messages, while making sure that, as
  857. messages come in, Music-X keeps in step with them.
  858.  
  859.         Two internal and three external time sources are listed in a pop-out
  860. menu.  The five choices are mutually exclusive.  The checked item shows
  861. the current MASTER CLOCK setting.  The choices are described below.
  862.  
  863. INTERNAL
  864.                When INTERNAL is selected, Music-X uses one of the Amiga's
  865. timer chips as the Master Clock source.
  866.  
  867.                The Relative clock is updated in increments of l/l92 quarter
  868. note, at        a rate dependent on the current tempo.  The Absolute clock is
  869. updated through a conversion routine.
  870.  
  871.                Example:  Playing Music-X with no other sync equipment.
  872.  
  873.         - Set MASTER CLOCK to INTERNAL
  874.  
  875.         - Click PLAY to start Music-X
  876.  
  877. MIDI CLOCKS
  878.                Read this menu item as "MIDI Clock Messages".  When this
  879. Master Clock setting is chosen, Music-X synchronizes its internal clock
  880. to incoming MIDI Clock messages while in PLAY or RECORD modes.
  881.  
  882. WHAT ARE MIDI CLOCK MESSAGES?
  883.         MIDI Clocks are MIDI messages transmitted by a drum machine or
  884. sequencer that say to the receiver "Advance your musical clock by l/24
  885. quarter note."  Each time the trasmitter advances its own internal clock
  886. by l/24 quarter notes, it sends out a MIDI Clock message.  Each time the
  887. receiver gets one of these messages, it advances its clock as well.  This
  888. means that whatever the tempo of the transmitting device, the receiver
  889. will follow it; the transmitting device controls the tempo of the music.
  890.  
  891.         MIDI CLOCKS is used as the Master Clock setting in situations where
  892. an      external drum machine or sequencer will be the time keeper, and you
  893. wish Music-X to synchronize with it.
  894.  
  895.         *Note:  In most situations where a drum machine will be used, it is
  896. better to let Music-X be the master, and have the drum machine follow
  897. Music-X.        This allows Music-X to be in charge of tempo changes, and to
  898. play Absolute sequences correctly.  (MIDI clocks, being a Relative Time
  899. system, cannot transmit Absolute Time information).  However, the MIDI
  900. CLOCKS menu option has been proided for other situations.
  901.  
  902.         (See Sequencer Page / Sync Menu / MIDI Sync Out)
  903.  
  904.                              **********************************************
  905.         Internal Clocks      *     MIDI Clock     *    MIDI Clock   *     *
  906.         Too fast             **********************************************
  907.                                                 ||
  908.                                              Waiting
  909.  
  910.         Internal Clocks      **********************************************
  911.         too slow             *     MIDI Clock           MIDI Clock        *
  912.                              **********************************************
  913.                                                   |
  914.                                              re-synced
  915.  
  916.         Internal Clocks      **********************************************
  917.         in sync              *     MIDI Clock             MIDI Clock      *
  918.                              **********************************************
  919.  
  920.  
  921. Illustration 6.l0:  Improving the resolution of MIDI Clocks.
  922.  
  923.         MIDI Clocks have a resolution of l/24 quarter note.  Music-X has a
  924. resolution of l/l92 quarter note.  That means that Music-X has eight
  925. times the resolution of MIDI clocks.  It seems a shame to waste all that
  926. resolution.  However, by matching Music-X's tempo changes to the drum
  927. machine's, one can effectively increase the resolution and accuracy of
  928. MIDI Clocks.
  929.  
  930.         Example:  Using a drum machine to drive Music-X.
  931.  
  932.         - The drum machine's MIDI OUT must be connected to the Amiga's MIDI
  933. IN and the drum machine must be able to transmit MIDI Clocks.
  934.  
  935.         - Set MASTER CLOCK to MIDI CLOCKS
  936.  
  937.         - Set MIDI START & STOP (also found in the sync menu) to RECEIVE.
  938.  
  939.         - Manually start the drum machine.
  940.  
  941.         - The drum machine sends a MIDI Start message.
  942.  
  943.         - Music-X receives the MIDI Start message and locates its musical
  944. clock to the beginning of the song.
  945.  
  946.         - The drum machine sends the first MIDI Clock message and begins
  947. playing.
  948.  
  949.         - Music-X receives the first MIDI Clock message and begins playing.
  950.  
  951.         - Music-X continues to play the next 8 of its own clocks (the
  952. equivalent of l/24 quarter note) at the current Music-X tempo.
  953.  
  954.         - If Music-X finishes playing its 8 clocks before receiving the next
  955. MIDI Clock message, then it stops playing and waits.
  956.  
  957.         - The drum machine, advancing at its own tempo, sends the next MIDI
  958. Clock message.
  959.  
  960.         - Music-X receives the next MIDI Clock message, advances its musical
  961. clock to the next l/24 quarter note, and continues to play.  If the
  962. MIDI Clock is received before Music-X expected it, then Music-X jumps
  963. ahead anyway to keep in step.  (See Illustration 6.l0)
  964.  
  965.         - Music-X matches the tempo of the drum machine and provides some
  966. additional resolution as well.  This process continues until the end    of
  967. the song.
  968.  
  969.         (See Sequencer Page / Sync Menu / MIDI Start & Stop)
  970.         (See Sequencer Page / Tempo Window)
  971.  
  972.         *Note:  Most the the newer drum machines transmit MIDI Clocks even
  973. while stopped.  This means that the sequencer can play while syncing to
  974. MIDI    Clocks, even without the drum machine playing.
  975.  
  976.         MIDI Clocks can also provide a way of moving song written on another
  977. computer-sequencer over to the Amiga:
  978.  
  979.         - The source computer must be able to transmit MIDI Clocks and its
  980. MIDI OUT must be connected to the Amiga's MIDI IN.
  981.  
  982.         - Set MASTER CLOCK to MIDI CLOCKS
  983.  
  984.         - Set the two sequencers' tempo sliders to the same value.
  985.  
  986.         - Put Music-X in RECORD
  987.  
  988.         - Play the other sequencer.
  989.  
  990.         - All the MIDI data played by the source will be recorded by Music-X
  991. in time with the MIDI Clock messages.
  992.  
  993.         (See Sequencer Page / Transport Window / RECORD)
  994.         (See Sequencer Page / STORE)
  995.  
  996. VIDEOCLOCK
  997.         When VIDEO CLOCK is chosen as the MASTER CLOCK setting, Music-X uses
  998. the Amiga's internal video clock to drive the Absolute clock.
  999.  
  1000.         There is a chip in the Amiga that generates the timing frequency
  1001. used to drive the monitor display's Vertical Blanking Interval (VBI).
  1002. The VBI is the dark strip between frames in a television signal.  The
  1003. Amiga's VBI frequency is just slightly under 60 frames per second.  When
  1004. using VIDEO CLOCK as the Master Clock, the Absolute clock is updated by
  1005. l/2 frame at every VBI.  Since the video chip frequency is the same as
  1006. the National Television Systems Committee (NTSC) standard frame rate for
  1007. television, the VIDEO CLOCK setting can be used to approximate Non-Drop
  1008. Frame, or Drop Frame SMPTE in cases where you want to test the total
  1009. elapsed time of the piece for accuracy against the clock.
  1010.  
  1011. MIDI TimeCode
  1012.         When MIDI Time Code is chosen as the Master Clock setting, Music-X
  1013. synchronizes its Absolute clock to incoming MIDI Time Code messages.
  1014.  
  1015.         What is MIDI Time Code?
  1016.         MIDI Time Code (MTC) is a type of MIDI message that describes
  1017. elapsed time in Hours, Minutes, Seconds, and Quarter Frames.  This makes
  1018. it similar to SMPTE Time Code, with the advantage that MTC can be
  1019. received via normal MIDI cables; SMPTE Reader hardware is not necessary.
  1020.  
  1021.         MTC has four formats:  24 FPS (Frames Per Second), 25 FPS, Non-Drop
  1022. Frame, and Drop Frame.  When synchronizing Music-X to MTC, it is
  1023. necessary to set Music-X to the same format using the TIME CODE
  1024. parameter.me Code for American Music-X users.
  1025.  
  1026.         Like Non-Drop Frame, Drop Frame format is also rated at 29.97 frames
  1027. per second.  What is different about Drop Frame is that the accumulated
  1028. errors in frame numbers, due to the slightly slow frequency, are
  1029. corrected to match      real time by dropping some of the frame numbers
  1030. periodically.  At the end of    an hour, the total number of frames will
  1031. still be l08 frames short, but the frame numbers will be correct.
  1032.  
  1033.         This is the way it works:  There is still an orderly progression of
  1034. frames, one after the other.  Each frame has a unique number, and all the
  1035. frames are numbered in ascending order.  However, when numbering each
  1036. frame, certain frame numbers are skipped.  The ones that are left out are
  1037. the first two frame numbers of every minute except the first minute and
  1038. every tenth minute after that.  That means that a total of l08 frame
  1039. numbers are left out every hour (just enough to correct the error).
  1040.  
  1041.         For example, experimenting with Music-X's TIME: clock, while in Drop
  1042. Frame, will show that the frame numbers jump from 00:00:59.29 to 00:00:02
  1043. because there is no frame 00, or 0l, at the beginning of minute 0l.
  1044.  
  1045. TIME CODE OFFSET
  1046.         This option can be used when synchronizing Music-X to incoming SMPTE
  1047. Time Code or MIDI Time Code messages to shift the beginning of Music-X
  1048. Time Code against the beginning of external Time Code.
  1049.  
  1050.         TIME CODE OFFSET allows you to start Music-X's clock at any point
  1051. during the reference Time Code.  This can be used, for instance, when
  1052. recording a short song in the middle of a long film.
  1053.  
  1054.         Choosing this menu opens a window in the Sequencer Page showing the
  1055. current Time Code Offset number in the form of Hours, Minutes, Seconds,
  1056. and Frames.  The Time Code Offset number may be edited using the arrows
  1057. next to each number.
  1058.  
  1059.              ********************************************************
  1060.                 *  () ()  ||  () ()  ||  () ()  ||  () ()  ||          *
  1061.                 *   HRS   ||   MIN   ||   SEC   ||   FRM   ||  (OK)    *
  1062.                 ********************************************************
  1063.  
  1064. Illustration 6.ll:  Time Code Offset Window
  1065.  
  1066.         When done, click OK to close the window.  The number that you
  1067. specify will be subtracted from each incoming Time Code message before
  1068. being used by Music-X.
  1069.  
  1070.         For example, let us say you are writing some background music to a
  1071. friend's video.  Your friend says the tape is striped with SMPTE and that
  1072. the music should start 20 minutes into the tape.
  1073.  
  1074.         - The video machine must be sending SMPTE messages to the Amiga's
  1075. SMPTE Reader or to a SMPTE-to-MTC converter connected to the Amiga.
  1076.  
  1077.         - Set the Master Clock to SMPTE READER, or MIDI TIME CODE depending
  1078. on which device you are using.
  1079.  
  1080.         - Set the Time Code Offset to 00:20:00.00. Music-X now considers
  1081. this to be zero (00.00:00.00)
  1082.  
  1083.         - Put Music-X in RECORD, and run the video from somewhere before the
  1084. 20 minute mark.
  1085.  
  1086.         - As Music-X receives each incoming Time Code message, it subtracts
  1087. 20 minutes from it and attempts to use it.  If a Time Code message
  1088. appears to be less than zero, it ignores it, and waits for the next one.
  1089.  
  1090.         - When Music-X receives the Time Code message specifying 20 minutes,
  1091. it subtracts 20 minutes from it, sees a message of zero, and says "aha...
  1092. I can use this."  Music-X then begins recording from that point.
  1093.  
  1094.         - As you see the action on videotape, play along to match it.
  1095.  
  1096.         - When done, STORE your music to a sequence and put Music-X in PLAY.
  1097.  
  1098.         - Rewind the video and play it.  Music-X will auto-locate and play
  1099. back the freshly recorded music along with the video.
  1100.  
  1101. MIDI SYNC OUT
  1102.         When MIDI SYNC OUT is checked, Music-X will transmit MIDI clock
  1103. messages at the current tempo, when in PLAY or RECORD.  This is done
  1104. regardless of the current MASTER CLOCK setting.
  1105.  
  1106.         This is handy when using a drum machine as an external sequencer,
  1107. that is,        with musical drum patterns stored in its own internal memory
  1108. rather than being triggered by note events from Music-X's own sequences.
  1109.  
  1110.         For example, to synchronize a separately programmed MIDI drum
  1111. machine (or other sequencer) from Music-X:
  1112.  
  1113.         - Connect a MIDI cable from the Amiga's MIDI OUT to the drum
  1114. machine's MIDI IN.
  1115.  
  1116.         - Set the drum machine to receive MIDI Clocks (most units call this
  1117. "MIDI sync mode").
  1118.  
  1119.         - Set Music-X's MASTER CLOCK to INTERNAL.
  1120.  
  1121.         - Turn on MIDI SYNC OUT
  1122.  
  1123.         - Set MIDI START & STOP to TRANSMIT
  1124.  
  1125.         - Turn on SONG POSITION (see below).
  1126.  
  1127.         - Play Music-X from any point in the song.  Music-X will send a MIDI
  1128. Start, or MIDI Song Position Pointer message to locate the drum machine
  1129. and then begin transmitting MIDI Clock messages at the current tempo.
  1130.  
  1131.         - The drum machine will receive the MIDI Clock messages and follow
  1132. Music-X.
  1133.  
  1134.         To synchronize a drum machine while Music-X is synchronizing to
  1135. video:
  1136.  
  1137.         - Set up the drum machine as above, and set up the SMPTE Reader to
  1138. feed Music-X SMPTE Time Code.
  1139.  
  1140.         - Set the MASTER CLOCK to SMPTE READER
  1141.  
  1142.         - Set the TIME CODE type to DROP FRAME (for color video).
  1143.  
  1144.         - Set the TIME CODE OFFSET if needed to start the song in the middle
  1145. of the video.
  1146.  
  1147.         - Turn on MIDI SYNC OUT
  1148.  
  1149.         - Set MIDI START & STOP to TRANSMIT
  1150.  
  1151.         - Turn on SONG POSITION (see below)
  1152.  
  1153.         - Put Music-X in PLAY and start the video from any point.
  1154.  
  1155.         - When Music-X receives the first Time Code message, it will auto-
  1156. locate to the specified point.  After auto-locating, Music-X will send a
  1157. MIDI Start, or MIDI Song Position Pointer message to locate the drum
  1158. machine and then begin transmitting MIDI Clock messages at the current
  1159. tempo.
  1160.  
  1161.         - As the video is stopped, fast forwarded or rewound, and played
  1162. again, Music-X will auto-locate to match it, then send Song Position and
  1163. MIDI Clock messages to locate and sync the drum machine.
  1164.  
  1165. SONG POSITION
  1166.         This Sync menu option enables the sending of MIDI Song Position
  1167. Pointer messages by Music-X.  While this menu option is checked, Music-X
  1168. will send a MIDI Song Position Pointer message whenever it deems a
  1169. relocation necessary.  This would be whenever PLAY is clicked after the
  1170. current clock setting has been moved (by fast forwarding or rewinding, or
  1171. by using the CUE buttons).  The only time a Song Position Pointer would
  1172. not be sent is when starting from the beginning of a song.  In this case,
  1173. a MIDI Start message would be sent instead (assuming MIDI START & STOP is
  1174. set to TRANSMIT).
  1175.  
  1176.         *Note:  Music-X can send Song Position Pointer regardless of the
  1177. MIDI START & STOP setting.
  1178.  
  1179. WHAT IS A SONG POSITION POINTER MESSAGE?
  1180.         Song Position Pointer is a MIDI message that describes some point in
  1181. the song based on the number of sixteenth notes that have elapsed since
  1182. the beginning.  The receiver of a Song Position Pointer message stops
  1183. whatever it is doing and relocates its clock to the specified point.
  1184. Once the receiver has located, it can be sent MIDI Clock messages.  This
  1185. process allows the sender and receiver to start together from any point
  1186. in the song without having to play from the beginning.
  1187.  
  1188.                 *Note:  The receiving of Song Position Pointer messages is
  1189. always enabled.  Music-X always relocates when it receives a Song
  1190. Position Pointer message.
  1191.  
  1192. SONG POSITION DELAY
  1193.         Song Position Delay is an option that affects the way the SONG
  1194. POSITION option works, and may be used in any situation where Song
  1195. Position messages are sent.  If SONG POSITION is not turned on (checked)
  1196. then the SONG POSITION DELAY setting is ignored.
  1197.  
  1198.         The Song Position Delay feature is an allowance made to older drum
  1199. machines or sequencers that may not have implemented the MIDI
  1200. specification correctly.  It causes Music-X to temporarily delay the
  1201. sending of MIDI Clocks after a Song Position message has been sent, so
  1202. that older devices, that ignore their MIDI IN ports  while locating, will
  1203. not miss a few MIDI Clock messages and start out of sync.  This feature
  1204. is only needed when using one of these older units as an external
  1205. sequencer, that is, with musical drum patterns stored in its own internal
  1206. memory.  If you are triggering the drum machine with note events from
  1207. Music-X's sequences, then Song Position is not needed.
  1208.  
  1209.         When a MID device receives a Song Position message, it relocates its
  1210. clock.   This is usually done by playing silently, as fast as possible
  1211. from the beginning of the song.  This takes time.  The further into the
  1212. song it must go, the longer it takes to locate.
  1213.  
  1214. HERE IS A SCENARIO OF THE PROBLEM:
  1215.  
  1216.         - After fast forwarding or using CUE point, PLAY is clicked.
  1217.  
  1218.         - Music-X notices the new clock time and begins locating silently to
  1219. the new position, playing through any Time Signature Changes and
  1220. calculating the number of l6th notes that have elapsed.
  1221.  
  1222.         - Music-X finishes auto-locating and sends a Song Position Pointer
  1223. message specifying the accumulated l6th notes.
  1224.  
  1225.         - The drum machine receives the Song Position Pointer messages and
  1226. begins auto locate.
  1227.  
  1228.         - Music-X begins playing and sending MIDI Clock messages.
  1229.  
  1230.         - The drum machine is still locating and misses the first few MIDI
  1231. clocks (MIDI specs say that it should keep track on incoming MIDI Clocks
  1232. while locating).
  1233.  
  1234.         - The drum machine finishes auto locating and begins playing from
  1235. the previously specified point at the rate dictated by the incomeing MIDI
  1236. Clock messages.
  1237.  
  1238.         - Music-X has meanwhile played ahead.
  1239.  
  1240.         - The two units remain perfectly out of sync until the end of the
  1241. song!
  1242.  
  1243.         One solution would be to click PAUSE, and then PLAY, and wait for
  1244. the receivers to catch up before turning PAUSE off to play again.  SONG
  1245. POSITION DELAY essentially does this automatically.
  1246.  
  1247. HERE IS A SCENARIO OF THE SOLUTION USING SONG POSITION DELAY:
  1248.  
  1249.         - After fast forwarding or using a CUE button, PLAY is clicked.
  1250.  
  1251.         - Music-X notices the new clock time and begins locating silently to
  1252. the new position; playing through any Time Signature Changes and
  1253. calculating the number of l6th notes that have elapsed.
  1254.  
  1255.         - Music-X finishes auto-locating and sends a Song Position Pointer
  1256. message specifying the accumulated l6th notes.
  1257.  
  1258.         - Music-X begins waiting for a period of time based on the magnitude
  1259. of the Song Position message.
  1260.  
  1261.         - The drum machine receives the Song Position Pointer message and
  1262. begins to auto locate.
  1263.  
  1264.         - The drum machine finishes auto locating and waits for MIDI Clock
  1265. messages to advance its clock.
  1266.  
  1267.         - Music-X begins playing and sending MIDI Clock messages.
  1268.  
  1269.         - The drum machine begins playing at the rate dictated by the
  1270. incoming MIDI Clock messages.
  1271.  
  1272.         - The two units remain in sync until the end of the song.
  1273.  
  1274.         The process described above is what happens when using SONG POSITION
  1275. DELAY while the MASTER CLOCK setting is set to either INTERNAL or VIDEO
  1276. CLOCK.  While using these MASTER LCOCK sources, Music-X can wait as long
  1277. as it sees fit before playing, because it is in control.
  1278.  
  1279.         Song Position Delay is implemented slightly differently when using
  1280. either MIDI TIME CODE, or SMPTE READER as the MASTER CLOCK.  When using
  1281. either of these MASTER CLOCK settings, it is impossible to tell what the
  1282. first incoming message will be.  This is because the timing source can
  1283. relocate independently of Music-X.  Music-X must follow it.  When Music-X
  1284. receives the first incoming Time Code message, it converts it internally
  1285. to a song location.  It then sends a Song Position Pointer message
  1286. specifying one measure later than the current position, and starts
  1287. playing.  When one measure has passed, Music-X starts sending MIDI Clocks
  1288. (assuming that MIDI SYNC OUT is switched one).
  1289.  
  1290.         Here is a scenario of the behaviour of Song Position Delay when
  1291. synchronising to a Time Code.
  1292.  
  1293.         - PLAY is clicked.
  1294.  
  1295.         - The tape recorder or other device is started.
  1296.  
  1297.         - Music-X begins receiving Time Code messages and figures out where
  1298. in      musical time it should be, based on the Absolute time specified in
  1299. the     Time Code message.
  1300.  
  1301.         -  Music-X begins silently locating to the new position; playing
  1302. through any Time Signature Changes and calculating the number of l6th
  1303. notes that have elapsed.
  1304.  
  1305.         - Music-X finishes locating and sends a Song Position Pointer
  1306. message specifying one measure greater than the current measure.
  1307.  
  1308.         - Music-X continues playing but does not transmit MIDI Clocks.
  1309.  
  1310.         - The drum machine finishes auto locating and waits for MIDI Clock
  1311. messages to advance its clock.
  1312.  
  1313.         - After Music-X reaches the next measure, it begins transmitting
  1314. MIDI Clock messages.
  1315.  
  1316.         - The drum machine begins playing at the rate dictated by the now
  1317. incoming MIDI Clock messages.
  1318.  
  1319.         - The two units remain in sync until the end of the song.
  1320.  
  1321. MODULES MENU
  1322.  
  1323.         A Modules menu is found on every page in Music-X (except the Keymap
  1324. Editor Page and the Protocol Editor Page, which are modules themselves).
  1325. A module is a small programme loaded into Music-X to execute a particular
  1326. function.  Six modules come with Music-X as relased.  More will become
  1327. available in the future.  Following are descriptions of the two modules
  1328. that appear in the Sequencer Page / Modules Menu.  Other modules are
  1329. described elsewhere in the manual.
  1330.  
  1331. NEWCLI
  1332.         This module calls the standard Amiga programme "NewCLI" which opens
  1333. a text window titled "New CLI" in the Workbench screen.
  1334.  
  1335.         CLI stands for "Command Line Interpreter". The CLI window is used to
  1336. give written commands to the AmigaDOS operating system.  This gives you
  1337. another way to communicate with the Amiga to do things like look at the
  1338. contents of disks, run programmes, delete files, etc.
  1339.  
  1340.         Move between the Workbench and Music-X screens as needed using the
  1341. front-to-       back gadgets found on most screens and windows.
  1342.  
  1343.         *Note:  Learn how to use the CLI by reading an AmigaDOS manual.
  1344.  
  1345. NEWSHELL
  1346.         This moduel calls the Amiga programme "NewShell" which opens a text
  1347. window titled "AmigaShell" in the Workbench screen.  A Shell is basically
  1348. an improved CLI. Move between the Workbench and Music-X screens using the
  1349. front-to-back gadgets.
  1350.  
  1351.         *Note:  Learn how to use the NewShell by reading an AmigaDOS Manual.
  1352.  
  1353. TRANSPORT WINDOW
  1354.         In the top left corner of the Sequencer Page is the Transport window
  1355. containing a cluster of controls modeled after the buttons on an analog
  1356. tape machine.  These Transport Controls are activated by clicking on
  1357. them, and are used to start the clock, stop the clock, and relocate the
  1358. clock to different portions of the song.  Following are descriptions of
  1359. those buttons.
  1360.  
  1361.                **********************************************************
  1362.                * (BEGIN)  (END)  (CUEl)  (CUE2)  (CUE3)  (CUE4)  (SET)  *
  1363.                * (PAUSE)  (<<)  (>PLAY)  (>>)  (O RECORD)  (=STOP)      *
  1364.                **********************************************************
  1365.  
  1366. Illustration 6.l2: Transport Window.
  1367.  
  1368.         (BEGIN)
  1369.         ("B" from the keyborad)
  1370.  
  1371.         This button relocates the clock to the beginning of the song.  This
  1372. button can be used while the clock is stopped or while the clock is
  1373. running.  If used while in RECORD mode, the Record Buffer is erased, the
  1374. clock is moved to the beginning of the song, the sequencer backs up to
  1375. play the Count-In measures (see below), and recording starts again.
  1376.  
  1377.         (END)
  1378.         ("E" from the keyboard)
  1379.  
  1380.         This button relocates the clock to the last previously recorded
  1381. point in the song.  The END button is self-adjusting, and automatically
  1382. recalculates its position each time a longer sequence is recorded.
  1383. However, it can also be         set manually using the SET button (see below).
  1384.  
  1385.         (CUEl) (CUE2) (CUE3) (CUE4)
  1386.         ("l", "2", "3", and "4" from the keyboard)
  1387.  
  1388.         These user-definable CUE buttons are designed to emulate the auto-
  1389. locate functions of a professional multi-track tape recorder.  They can
  1390. be used instead of Fast Forward or Rewind to quickly relocate the clock
  1391. to preset points.  Those points can be set to the start of song sections
  1392. or to any point in the song using the SET button (see below).
  1393.  
  1394.         The CUE buttons can be used while the clock is stopped or while the
  1395. clock is        running.  If used while in RECORD mode, the Record Buffer is
  1396. erased, the clock is moved to the CUE point, the sequencer backs up to
  1397. play the Count-In measures (see below), and recording starts again.
  1398.  
  1399.         The default setting for the CUE buttons is the beginning of the
  1400. song.
  1401.  
  1402.         CUE button locations can be saved with performance files.
  1403.  
  1404.         (See Sequencer Page / File Menu / Save Performance)
  1405.  
  1406.         (SET)
  1407.         ("=" (equals sign) from the keyobard)
  1408.  
  1409.         This button is used to manually set the locations for the CUE
  1410. buttons (and the END button if you wish).  SET can be used while the
  1411. clock is running or while the clock is stopped.
  1412.  
  1413.         Here is how to set a CUE point using the SET button.
  1414.  
  1415.         - Click SET.SET will appear highlighted; it is now "readied".
  1416.  
  1417.         - Click on one of the CUE buttons (or the END button).  The CUE
  1418. button will be set to the current clock position.  SET will return to
  1419. normal appearance.
  1420.  
  1421.         You can change the cue points at any time by repeating the above
  1422. steps.
  1423.  
  1424.         (PAUSE)
  1425.         (SPACE BAR from the keyboard)
  1426.  
  1427.         As in a conventional tape recorder, you can temporarily halt the
  1428. playing or recording of a song with the PAUSE button.
  1429.  
  1430.         Click PAUSE.  PAUSE will become highlighted, and the clock will
  1431. temporarily stop.  You can resume playing by clicking PAUSE again.  When
  1432. PAUSE is released, the sequencer does not need to relocate as it would
  1433. with the series of commands STOP and PLAY.
  1434.  
  1435.         If you click PAUSE while recording, the Record Buffer is not erased.
  1436. Releasing PAUSE will continue recording from that point.
  1437.  
  1438.         PAUSE does not automatically cut off any currently sounding notes;
  1439. it holds the clock in its current state.
  1440.  
  1441.         (<<)
  1442.         ("(" (left bracket) from the keyboard)
  1443.  
  1444.         The Rewind Button is marked with two left-pointing arrows.
  1445. Depending on which clock is currently chosen, clicking this button will
  1446. move the clock back in increments of l measure, or l minute.  Holding the
  1447. button moves the clock continuously.  If you are already at the
  1448. beginning, then nothing will    happen!
  1449.  
  1450.         The Rewind Button cannot be used during PLAY or RECORD modes.
  1451.  
  1452.         *Note:  The clocks can also be changed in smaller increments by
  1453. using the green arrows in the clock window.
  1454.  
  1455.         (See Sequencer Page / Clock Window)
  1456.  
  1457.         (PLAY)
  1458.         ("P" from the keyboard)
  1459.  
  1460.         (ESC (Escape key) = All notes off)
  1461.         (SHIFT-ESC = Super All notes off)
  1462.  
  1463.         This button starts the sequencer from the current clock position.
  1464. If the clock is not at the beginning, then Music-X auto-locates by
  1465. playing from the beginning, as fast as possible, until it gets to where
  1466. the clock is, before playing normally.  During auto-locate, Note events
  1467. are silenced, but all other events are played normally (albeit quickly).
  1468. This is so that things like Program Changes, Pitch Bend, Control Changes,
  1469. and other events that might affect the sound will be correctly updated to
  1470. their most recent values when the clock begins playing normally.
  1471.  
  1472.         If PLAY is clicked while in RECORD mode, recording is stopped and
  1473. the clock continues running.
  1474.  
  1475.         If at anytime during play, a "MIDI stuck-on note" occurs, remember
  1476. that pressing the Amiga's escape key (at the upper left corner of the
  1477. keyboard) sends a MIDI All Notes Off message.  Holding the SHIFT key,
  1478. while pressing the escape key initiates a "Super All Notes Off", which
  1479. actually sends a MIDI Note-Off message for each of the l28 possible notes
  1480. on all l6 MIDI channels.  This feature is available from all Pages in
  1481. Music-X.
  1482.  
  1483.         (>>)
  1484.         (")" (right bracket) from the keyboard)
  1485.  
  1486.         The Fast Foward Button is marked with two right-pointing arrows.
  1487. Depending on which clock is currently chosen, clicking this button will
  1488. advance the clock in increments of l measure, or l minute.  Holding the
  1489. button moves the clock continuously.
  1490.  
  1491.         The Fast Forward button cannot be used during PLAY modes.
  1492.  
  1493.         *Note:  The clocks can also be changed in smaller increments by
  1494. using the green arrows in the clock window.
  1495.  
  1496.         (See Sequencer Page / Clock Window)
  1497.  
  1498.         (RECORD)
  1499.         ("R" from the keyboard)
  1500.  
  1501.         The basic process in MIDI recording is to capture the incoming data
  1502. stream from the mother keyboard (or whatever device is hooked up to the
  1503. computer's MIDI IN port), time-stamping each arriving event with the
  1504. current clock time.
  1505.  
  1506.  
  1507. OVERVIEW
  1508.  The Protocol Editor page is accessed from the Edit menu of the Librarian
  1509. Page, and is used to create or modify the protocols used by the Librarian
  1510. page when sending or receiving data dumps from other MIDI devices.  Think
  1511. of this page as an extension of the Librarian Page.
  1512.  
  1513.  (see Librarian Page / Edit Menu / Create Protocol)
  1514.  (see Librarian Page / Edit Menu/ Modify Protocol )
  1515.  
  1516.  Creating new protocols is not easy.  Fortunately, you probably won't
  1517. need to.  In most cases you will be using protocols created by other
  1518. people, while you spend your time creating music instead.  Likely as not,
  1519. you can take full advantage of Music-X without ever reading this chapter.
  1520.  
  1521. Suppose, however, that you have an instrument for which you cannot obtain
  1522. a protocol.  There are several options open to you:
  1523.  
  1524.  l.  Hire a MIDI Guru.
  1525.  
  1526.  2.  Get a MODEM and call a BBS or online information service such as
  1527. PLINK
  1528.     (People-Link) or PAN (Performing Artists Network) or BIX (Byte
  1529.     Information Exchange) to name just a few.
  1530.  
  1531.  3.  Find a friendly neighbourhood whiz kid.
  1532.  
  1533.  4.  Join a User Group; they often have droves of unsuspecting
  1534. volunteers.
  1535.  
  1536.  5.  Write your own protocol.
  1537.  
  1538. If you wish to write protocols yourself, you'll need some knowledge of
  1539. basic MIDI and computer related concepts.  For example, many
  1540. manufacturers publish the specifications for their instruments using the
  1541. hexadecimal (base l6) or even binary (base 2) numbering systems.  It is
  1542. beyond the scope of this manual to describe technical background such as
  1543. numbering systems; however the information is readily available in most
  1544. computer bookstores or in the library.
  1545.  
  1546. WHAT IS SYSTEM EXCLUSIVE
  1547.  When the MIDI standard was being written, it was realised that it would
  1548. be impossible to think of everything that anyone would possibly want to
  1549. communicate via MIDI.  Therefore a loophole or exception was built into
  1550. the language.  A system Exclusive message (often abbreviated to SysEx;
  1551. pronounced ("sis-ex") can be used to temporarily suspend the rules and
  1552. let one instrument communicate with another using codes only they
  1553. understand.  This is like a Roland synthesizer  saying "Don't listen, you
  1554. guys - this is Roland talk!".  That means  that even though MIDI is a way
  1555. for manufacturers to design their own non-standard communication formats
  1556. to be used within MIDI.  Synth manufacturers have taken advantage of the
  1557. SysEx loophole to implement data transfers between instruments of the
  1558. same make and model.  The Protocol Editor and Librarian Page are designed
  1559. to work with the data transfers.
  1560.  
  1561. All SysEx messages begin with the MIDI "Start of System Exclusive" code
  1562. (FO).  Following that is the manufacturer's ID number, and then a series
  1563. of bytes, the formatÜjÜ of which depends on the manufacturer's ID.
  1564. Finally, an "End of System Exclusive" (EOX) code is used to terminate the
  1565. SysEx message.
  1566.  
  1567. Modern instruments have lots of different kinds of information in them
  1568. besides sounds.  For example, micro tuning data, performance data, voice
  1569. parameters, sample data, etc.  Each protocol is designed to support one
  1570. kind of date transfer.  It is often the case that a different protocol
  1571. will be required for each type of information stores in the instrument.
  1572.  
  1573. The designer of a protocol is free to use the parameters specified by the
  1574. Librarian Page Channel: buttons, PREVIEW button, and Program indicator in
  1575. whatever manner he or she chooses.  They don't necessarily have to be
  1576. used in the manner in which they are labelled.
  1577.  
  1578. THE FACE OF THE PROTOCOL EDITOR
  1579.  The Protocol Editor Page has four main areas, each containing a number
  1580. of text boxes.  The topmost area contains general information about the
  1581. instrument, the name of the protocol, which Patch Editor to use if any,
  1582. etc.  The second area contains message strings used in receiving data
  1583. from the instrument.  The third area contains message strings used in
  1584. sending data to the instrument, and the fourth area consists of "sub-
  1585. strings" which are messages that are used inside of other messages.
  1586.  
  1587. TITLEBAR
  1588.  The title bar is found along the top of all Music-X pages to remind one
  1589. where one is.  In the Protocol Editor, the name of the current protocol
  1590. being edited appears here as well.
  1591.  
  1592. FILEMENU
  1593.  Protocol files are kept in the protocols directory on the Music-X
  1594. program disk.  If you write or collect more than can fit on your master
  1595. disk you may wish to move the directory to another disk.
  1596.  
  1597.  (See Advanced Users / Workbench Tool Types / PROTODIR)
  1598.  
  1599. Load...
  1600.  (RightAmiga-"L" from the keyboard)
  1601.  
  1602. This menu item is used to Load a protocol from disk.  Choosing Load...
  1603. calls the file requester titled "Load Protocol".  The current protocol
  1604. name is offered as a default file name by the requester.  Loading a
  1605. protocol from disk overwrites the protocol currently in the editor.
  1606.  
  1607.  (See File Requester chapter)
  1608.  
  1609. Save
  1610.  (RightAmiga-"S" from the keyboard)
  1611.  
  1612. This menu item is used to Save a protocol to disk.  choosing Save...
  1613. calls the file requester titled "Save Protocol".  The current protocol
  1614. name is offered as a default file name by the requester.  When naming new
  1615. protocols, the suggested convention is Instrument Name.TransferType.
  1616. Musix-X also saves an icon for the protocol file in the same  directory.
  1617. Icons for protocol files look like a sheet of l's and 0's.
  1618.  
  1619.  (See File Requester chapter)
  1620.  
  1621. Exit
  1622.  (RightAmiga-"X" from the keyboard)
  1623.  
  1624. This menu item is used to leave the Protocol Editor and go back to the
  1625. librarian.  If you have just created a new protocol, be sure to save it
  1626. first.  The Protocol Editor clears the message strings on exit.
  1627.  
  1628. NAMEPANEL
  1629.  This panel is used to hold protocol information other than the actual
  1630. message strings.  It contains a number of text boxes which are described
  1631. below.
  1632.  
  1633. Protocol Name:
  1634.  Here's where you name your protocol.  This name is used when saving the
  1635. protocol to disk.  The standard (but not mandatory) format for protocol
  1636. names is:  instrument.datatype. Example: "CZ-l000.Voices" is the file
  1637. name for the protocol that sends and receives CZ-l000 individual voice
  1638. dumps.
  1639.  
  1640. Normal Program:
  1641.  This text box contains one of the substrings substituted for the string
  1642. variable "PG" in a message string.  This substring is used in a message
  1643. string when the PREVIEW button is turned off in the Librarian Page.
  1644.  
  1645. PREVIEW PROGRAM;
  1646.  This text box contains the other substring substituted for the string
  1647. variable "PG" in a message string.  This substring is used when the
  1648. PREVIEW button is turned on.
  1649.  
  1650. PATCH EDITOR NAME:
  1651.  This is where you attach the appropriate Patch Editor (if there is one)
  1652. to the current protocol by typing the Editor's pathname.  The pathname is
  1653. stored along with the protocol, imbedded in a library file, when the
  1654. library file is saved.  This allows the Librarian to locate the Patch
  1655. Editor when the library file is loaded and edited later.  If the pathname
  1656. is wrong, the Librarian will not be able to locate the Patch Editor
  1657. even if it exists.
  1658.  
  1659.  (See Librarian Page / Edit Menu / Edit Entry)
  1660.  
  1661. NAME OFFSET:
  1662.  This numeric indicator is used to describe the location of name data
  1663. within the body of data in a library entry.  It is used by the Librarian
  1664. Page when displaying the names of patches or programs in the individual
  1665. library entries.
  1666.  
  1667. This number represents the number of bytes that must be skipped from the
  1668. beginning of the library data to find the beginning of the name.  A name
  1669. offset of 0000 means the name starts at the beginning of the data.
  1670. Various synths imbed the name parameter inÜjÜ different portions of the
  1671. bulk data dump.
  1672.  
  1673. NAME LENGTH
  1674.  The Name Length indicator is used with the Name Offset indicator to
  1675. describe the location and length of name data imbedded with a library
  1676. entry.  It ranges from 0 to 3l.  A name length of  zero can be used in
  1677. cases where there is no name in the bulk data, as when transferring
  1678. sample dumps etc.
  1679.  
  1680. CHAR MAP:
  1681.  Read this as "Character Map"
  1682.  
  1683. Various manufacturers use different numbers to represent the alphanumeric
  1684. characters that are considered legal in patch names.  Not all use the
  1685. standard ASCII format as used on most computers.  This Char Map string
  1686. gadget can be used to define the set of legal characters for that synth.
  1687. If the synth uses the ASCII character set, then leave this field blank.
  1688.  
  1689. The contents of the gadget are used to describe, to Music-X, the
  1690. character set that the instrument uses.  This is done by typing the order
  1691. of letters that it uses.
  1692.  
  1693. The ordering of the letters is described by entering a series of letter
  1694. pairs, separated by commas, each pair representing a range of characters
  1695. which are in the instrument's character set.  For example, if the
  1696. character "A" is the first character in the instrument's character set,
  1697. and the "Z" is the twenty-sixth character, then the first entry in the
  1698. Char Map string will be "AZ", indicating the letters "A" through
  1699. "Z".  If the twenty-seventh character was the letter "a" (lower case),
  1700. which then proceeded through "z" (lower case), the next entry would be
  1701. "az".  That would make the total string so far "AZ,az".
  1702.  
  1703. When you describe ranges of characters, you can only connect ranges if
  1704. they can be expressed contiguously in ASCII.  Otherwise, the Amiga, which
  1705. uses ASCII, will not understand.  If the ordering of the letters cannot
  1706. be expressed as a contiguous ASCII range, then you'll need to define one
  1707. or more ranges whose widths are one character wide.  This is done by
  1708. delimiting such ranges with the same character (as in "AA").
  1709.  
  1710. You can also enter characters with a 2-digit hexadecimal value, by
  1711. proceeding them with a backslash ("/").  For example, "/20", which is the
  1712. ASCII value for a space character.  This is handy for entering characters
  1713. like the comma (",") which might be misinterpreted.
  1714.  
  1715. RECEIVE PANEL
  1716.  The RECEIVE panel is used to define the set of incoming and outgoing
  1717. message strings that will be used during transfer when the RECEIVE button
  1718. is clicked in the Librarian Page.  It contains four string gadgets that
  1719. can be edited in the normal fashion.  All numbers in the string panels
  1720. are in hexidecimal.  This is the adopted format because most instrument's
  1721. System Exclusive formats are published in hex.
  1722.  
  1723. Following are short descriptions of the strings.  They are described more
  1724. fully in the "Music-X Protocol Language" section of this chapter.
  1725.  
  1726. Initiate:
  1727.  This string describes the request to receive, sent by Music-X.
  1728.  
  1729. Confirm
  1730.  This string describes the confirmation message sent by the synth to
  1731. indicate that it is ready to send data.
  1732.  
  1733. Ack:
  1734.  Read this as "Acknowledge."
  1735.  
  1736. This string describes the acknowledgement message sent by Music-X that it
  1737. is ready to receive data.
  1738.  
  1739. Data
  1740.  This string describes the format of the data that the synth will be
  1741. sending.
  1742.  
  1743. SENDPANEL
  1744.  The SEND panel is used to define the set of incoming and outgoing
  1745. message strings that will be used during transfer when the SEND button is
  1746. clicked in the Librarian Page.
  1747.  
  1748. Initiate:
  1749.  This is the request to send, sent by Music-X.
  1750.  
  1751. Confirm
  1752.  This is the "OK, ready to receive" confirmation that the synth sends (if
  1753. any).
  1754.  
  1755. Data:
  1756.  This is the format for the data that Music-X will be sending.
  1757.  
  1758. Ack:
  1759.  This is the acknowledgement that the synth sends to say that it is ready
  1760. to receive more data.
  1761.  
  1762. SUB-STRINGS PANEL
  1763.  Sometimes there are strings that need to be used often in the RECEIVE or
  1764. SEND panels.  These message fragments can be written into the SUB-STRINGS
  1765. panel, and then be represented in the other message strings as
  1766. abbreviations.
  1767.  
  1768. Prefix:
  1769.  The abbreviation for Prefix is "PR".  Anytime "PR" appears in a send or
  1770. receive string, the prefix string is substituted.  A Prefix string
  1771. usually consists of a "Beginning of SysEx" byte (FO), then a
  1772. manufacturer's ID.
  1773.  
  1774. Cancel:
  1775.  For those synthesizers which understand such things, this substring is
  1776. used to hold the Cancel string which is sent when Music-X wants to halt
  1777. the transfer process, perhaps as a result of a user abort.  This string
  1778. cannot be imbedded in any other message strings; it is used automatically
  1779. when needed.
  1780.  
  1781. #l:
  1782.  This is user string number one.  Its contents are substituted for the
  1783. abbreviation "//l" when used in the other panels.
  1784.  
  1785. #2:
  1786.  This is user string number two.  Its abbreviation is "#2".
  1787.  
  1788. PROTOCOL LANGUAGE
  1789.  Technically speaking, a Music-X protocol is a description of the
  1790. messages that need to be sent to an instrument to communicate with it.
  1791. This sub- chapter will explain the construction of those messages using
  1792. the protocol language built into Music-X.
  1793.  
  1794. Protocols, Messages and Strings
  1795.  Each protocol consists of a number of "messages".  Each message is a
  1796. string of codes to be either sent to or received from the instrument.
  1797. You create a protocol by creating the correct message strings for that
  1798. instrument, and typing them into the Protocol Editor.  The message
  1799. strings are lists of numbers or mathematical expressions, separated by
  1800. commas.  The numbers must be in hexadecimal (since that's the way
  1801. synthesiser manufacturers print out their code descriptions).  Once typed
  1802. in, Music-X can use this information to communicate with the instrument.
  1803.  
  1804. Finding out about MIDI formats
  1805.  Most manufacturers of MIDI equipment publish the system exclusive codes
  1806. needed to communicate with their instruments.  Some manufacturers publish
  1807. these codes in the back of the manual, or in a separate book that comes
  1808. with the instrument.  Others require that you write to them directly to
  1809. obtain a copy of the system exclusive format.
  1810.  
  1811. Sending and Receiving
  1812.  Communicating with some synthesisers is very simple.  When you want to
  1813. send them a message, you simply send it, and when you want to receive a
  1814. message, you send a special message to the synthesiser saying "please
  1815. send me some data", and the synthesiser sends you the data, which you
  1816. receive and store away.
  1817.  
  1818.  However, most instruments are more complex than that.  Usually there is
  1819. some sort of "handshaking".  Handshaking is like good manners, in that
  1820. there is a lot of "please and thank-you" going on.  Here is an example of
  1821. handshaking between the computer and a synthesiser:
  1822.  
  1823.  Computer:  Please send a message.
  1824.     Synth:  Are you ready for the message?
  1825.  Computer:  Yes, send the first part.
  1826.     Synth:  Here it is. <data>
  1827.  Computer:  please send the next part.
  1828.     Synth:  Here it is. <data>
  1829.  Computer:  Please send the next part.
  1830.  
  1831.  (repeat previous two steps for a while)
  1832.  
  1833.     Synth:  Here it is, this is the last part. <data>
  1834.  Computer:  Thank you very much.
  1835.     Synth:  You're welcome.
  1836.  
  1837.  Now, that was a somewhat anthropomorphised version of the way a protocol
  1838. is used.  In actuality, it would look something like this:
  1839.  
  1840.  Computer:  FO 44 l2 l7 l9 F7
  1841.     Synth:  FO 44 l3 l9 00 00 l8 F7
  1842.  
  1843.  (And so forth.  You get the idea).
  1844.  
  1845.  Now, not all instruments go to this extreme.  Many of the messages used
  1846. in the above example are often absent on a particular synth.  Other
  1847. synths have special messages like "I have a problem, stop sending
  1848. messages for a while," or "Something's wrong, cancel the transfer," or
  1849. "Eh? I didn't get that last message quite right."
  1850.  
  1851.  The message strings are used to tell the computer how to send and
  1852. receive messages of this type.  Because of handshaking, each transaction
  1853. between the computer and the synthesiser will often consist of a number
  1854. of messages travelling in both directions.  For example, when sending
  1855. data to the synthesiser, the computer will actually receive as well as
  1856. send messages, although the important data will be in the messages that
  1857. are sent.  It will be necessary for you to describe correctly all of the
  1858. incoming and outgoing messages, for both types of transactions.
  1859.  
  1860.  Music-X protocols are based on a "dialogue model".  That is, as in a
  1861. conversation; each person takes turns talking with the other person.
  1862. Here is the overall structure of a transaction to RECEIVE data:
  1863.  
  1864.  l.  Music-X requests data.
  1865.  2.  Synthesiser Acknowledges Music-X.
  1866.  3.  Music-X indicates that it is ready to accept data.
  1867.  4.  Synth sends some data.
  1868.  
  1869.  (Steps 3 and 4 are repeated until all data is received).
  1870.  
  1871.  These 4 steps are labelled Initiate, Confirm, Ack (Acknowledge), Data.
  1872.  
  1873.  Any one of the messages may be omitted, although omitting the last one
  1874. is not meaningful.  For example, if message number 3 (Confirm) is
  1875. omitted, then it is assumed that the synthesiser will continue to send
  1876. data without waiting for a confirmation.  If message number 2 (Ack) is
  1877. omitted, then it is assumed that there is no acknowledgement sent from
  1878. the syunthesiser; that the first thing it will send will be a data
  1879. message.  If message l is omitted, then it usually means that the
  1880. synthesiser required "manual MIDI control".  That is, you actually have
  1881. to press a button on its front panel to get it to send the data, and
  1882. there is no actual message that can be sent from the computer to get it
  1883. to send data.
  1884.  
  1885.  *Note:  There is another way that the four messages can be used.  Some
  1886. synthesisersÜjÜ send their data as two separate messages which are
  1887. different.  This is often the case when an instrument comes out which is
  1888. an advanced version of an older model - one message is sent which
  1889. represents the old format information, and the second message is
  1890. additional information which applies only to the new model.
  1891.  
  1892.  There is a way (explained below), whereby you can use the Ack message as
  1893. an additional Data message which is different from the regular data
  1894. message.
  1895.  
  1896.  The overall structure of a transaction to SEND data to the synthesiser
  1897. is slightly different:
  1898.  
  1899.  l.  Music-X indicates that it will send data.
  1900.  2.  Synth responds that it is ready.
  1901.  3.  Music-X sends some data.
  1902.  4.  Synth indicates that it got the data OK.
  1903.  
  1904.  (Steps 3 and 4 are repeated until all data is sent).
  1905.  
  1906.  Like before, messages #l  and  #3 are outgoing, while messages sends  #2
  1907. and #4  are incoming, but in this case the bulk of the actual data is in
  1908. //3 instead of  #4.  These 4 messages are named "Init", "Confirm",
  1909. "Data", and "Ack".  ("Data" and "Ack" have exchanged places).
  1910.  
  1911.  Like the receive transaction, any of the messages may be omitted.
  1912. Omitting the first two messages is often done in cases where the
  1913. synthesiser does not handshake, but simply expects the data to be sent.
  1914. Omitting the last message is often done in cases where the data is sent
  1915. as a single message, or when no confirmation of individual data
  1916. blocks is needed.
  1917.  
  1918. Limitations of System Exclusive Messages
  1919.  Because of the way MIDI is structured, each system exclusive message
  1920. must start with the hexadecimal code "FO" meaning "start of system
  1921. exclusive message".  Each code, or byte, in the message following that
  1922. must consist of a series of eight bits, and the most significant bit must
  1923. be zero.  Any byte sent with a most significant bit that is not zero
  1924. (except Real-Time messages such as Active Sensing) will automatically
  1925. terminate the system exclusive mode.  Due to this fact, all of the bytes
  1926. within the body of the message must have values which are between 0 and
  1927. l27.  (There are 7 bits available, and each bit can be on or off, which
  1928. makes l28 combinations of ons and offs.  Since we include  zero as one of
  1929. the numbers, we have to leave out the number l28.So, 0-l27).
  1930.  
  1931.  Unfortunately, many instruments (for example, samplers) have parameters
  1932. or data values that are larger than l27.  These instruments solve the
  1933. problem by breaking up the large number into two smaller numbers, each of
  1934. which has less bits than the large one.  The way the numbers are broken
  1935. up differs for different instruments.  You'll need to be aware of this to
  1936. understand some of the explanations that are to follow.
  1937.  
  1938. The LookOut Utility
  1939.  A programme called "LookOut" has been included on the Music-X Utilities
  1940. disc.  It will help you to develop new protocols.  What LookOut does is
  1941. open up a window which prints out error messages and status messages when
  1942. a protocol is activated, as well as showing the actual bytes that were
  1943. sent and received.  You can use LookOut as a debugger to correct errors
  1944. in your protocols.
  1945.  
  1946.  *Note:  Don't expect to get a protocol correct on the first try - nobody
  1947. has yet.
  1948.  
  1949. FORMING A MESSAGE STRING
  1950.  A message string consists of fields separated by commas.  Commas may
  1951. only be used as separators and may not occur within parenthesised
  1952. expressions.  Spaces between the fields are ignored.  Each field is
  1953. actually a command to Music-X, and can consist of either a hexidecimal
  1954. number, a mathematical expression, or a special command.  Fields
  1955. consisting of just a hexadecimal number simply mean "Send this number."
  1956. For example:
  1957.  
  1958.             FO,44,l2,45
  1959.  
  1960.   This message string simply means that the message consists of the code
  1961. "FO", followed by the code "44", followed by "l2", followed by "45".  If
  1962. the message was an outgoing one, the computer would send those codes to
  1963. the synthesiser.  If it was an incoming message, then instead of sending
  1964. those codes, the computer would know to expect them.
  1965.  
  1966.  It is also possible to specify codes that are longer than one byte by
  1967. placing the codes in parentheses.  For example, the field
  1968.  
  1969.       (OFOF.3)
  1970.  
  1971.  means send the hexadecimal number "OFOF" as a three-byte code.  The "3"
  1972. is a "length specifier" - it indicates the length, in bytes, of the field
  1973. in the message string.  All length specifiers must be preceeded by a
  1974. period and must be part of a field surrounded by parentheses.  Length
  1975. specifiers can range from l to 5.
  1976.  
  1977.  Because of the way the Protocol Language works, all multi-byte messages
  1978. are broken up into chunks of seven rather than eight bits, except for the
  1979. first byte, which is sent as a full eight bits.  So, the bytes "OFOF",
  1980. which, in binary, are actually "0000llll0000llll", are sent as:
  1981.  
  1982.     "00000000"  (8 bits)
  1983.     "000llll0"  (7 bits + leading zero bit)
  1984.     "0000llll"  (7 bits + leading zero bit)
  1985.  
  1986.  The reason for this is that all of the byte codes in a system exclusive
  1987. message, except for the first one, must have the first bit as zero.  So
  1988. that only leaves seven bits.  This system of encoding works well with
  1989. popular synthesiser formats.
  1990.  
  1991. ASCII Strings
  1992.  You can also put an ASCII string into a field, in which case the string
  1993. is put into the message, character by character.  The string must be
  1994. separated by double quotes.
  1995.  
  1996.  ("").
  1997.  
  1998.  An ASCII character surrounded by single quotes, such as 'A' means to use
  1999. the numeric value of that ASCII character (just like in the C language).
  2000. Singly quoted letters may be used in expressions, and may have length
  2001. specifiers.
  2002.  
  2003. Examples:
  2004.            FO,44"AAAA",l0
  2005.  
  2006. produces the codes:
  2007.  
  2008.            FO 44 4l 4l 4l 4l l0
  2009.  
  2010.  (The ASCII code for the letter "A" is 4l in hexadecimal).
  2011.  
  2012.  ('A'.3) - means "take the value 4l and insert it into the message for 3
  2013. bytes".
  2014.  
  2015. Expressions
  2016.  Message fields can also contain mathematical expressions (in
  2017. parentheses).  For example, instead of including a "2" in the message,
  2018. you could include the expression "(l+l)".  Expressions can also have a
  2019. length specifier, as in: "(5+9*3.5)" which means, "Take 5, add 9,
  2020. multiply by 3, and put the result into the next 5 bytes of the message.
  2021.  
  2022.  All of the terms in an expression must be integers, and evaluation is in
  2023. left to right order, (except for portions within parentheses, which are
  2024. evaluated first (parentheses can be nested (to any level))).  The
  2025. operators supported are:
  2026.  
  2027.  +     Add
  2028.  -     Subtract (or Negative)
  2029.  *     Multiply
  2030.  /     Divide
  2031.  %     Modulus
  2032.  !     Boolean NOT
  2033.  &     Boolean AND
  2034.  ^     Boolean Exclusive OR
  2035.        Boolean OR
  2036.  <<    Logical Bit Shift Left
  2037.  >>    Logical Bit Shift Right
  2038.  ()    Parenthesized expression
  2039.  =>    Assignment - Variables can be assigned values, as in (A+l=>A)
  2040.                     where the value of A + l is assigned to A.
  2041.  
  2042. Wild Card Character
  2043.  Sometimes you don't care about a particular incoming code from the
  2044. synthesizer, or don't know what that code will be.  There is a wildcard
  2045. command that you can use instead of a number.  The command is "##".  You
  2046. can use it by itself, in which case it causes one byte of the message to
  2047. be ignored, or in parentheses with a length specifier, in which case the
  2048. length specifier indicates how many bytes are to be ignored.  For
  2049. example:
  2050.  
  2051.       FO,4l(##.3),42
  2052.  
  2053.  This tells Music-X to expect two bytes (FO and 4l), then ignore the next
  2054. three bytes, then expect the byte "42".  Wildcards can only be used on
  2055. incoming messages; otherwise, a protocol error will result.
  2056.  
  2057. Numeric Variables
  2058.  A numeric variable is a single letter used to represent a numeric value.
  2059. The value represented by a variable may vary (thus "variable").
  2060. Variables can be used within message strings to allow the string to
  2061. change based on some external circumstance.  For example, the message
  2062. string used by Music-X to initiate a programme dump by a synthesizer
  2063. could change depending upon which programme you wished to download.
  2064. Whenever a variable is used in a message string, the current value of
  2065. that variable is substituted into the message string.  For example:
  2066.  
  2067.       l2,33,n,02
  2068.  
  2069.  In the above example, the third byte of the message will be whatever the
  2070. variable "n" is currently set to.  Variables can also be used with length
  2071. specifiers, as in "(n.4)".
  2072.  
  2073.  All of these variables have pre-defined meanings.  You cannot create
  2074. your own variables, as you would in a programming language.  The meanings
  2075. of the variables are as follows:
  2076.  
  2077.  "K" or "k" - Checksum
  2078.  
  2079.         Many instruments use checksumming as a way of insuring that the
  2080. data has been transferred correctly.  A checksum is created by taking all
  2081. or part of a message and adding up those codes numerically to form a sum.
  2082. This sum is then sent along with the message.  When the message is
  2083. received, the receiver adds up the codes, and checks to see if his sum
  2084. matches the checksum, in which case the receiver knows that message got
  2085. through OK.  This can be important if the messages are very long, because
  2086. a slight power fluctuation or static shock to the computer could cause a
  2087. byte to be received incorrectly.
  2088.  
  2089.         To use checksumming, you need to put braces (the"(" and ")"", or
  2090. "curly breaker" characters) around the part of the message which is to be
  2091. summed.  Multiple fields may be enclosed in braces and checksummed.
  2092. Example:
  2093.           l2,34,(02,n.55)
  2094.  
  2095.         This causes the third through fifth byte of the message to be
  2096. added together and placed into the variable "K".
  2097.  
  2098.         Many synthesizers use a negative checksum, which means that the
  2099. checksum value sent is the negative sum of the message bytes.  This has
  2100. the advantage that the message bytes and the checksum added together
  2101. equals zero.  To form a checksum like this, use an expression (-K&7f.l)
  2102. which means "Take the sum "K", negate it, logical AND it with 7F (which
  2103. turns off the topmost bit, necessary for MIDI system exclusive data), and
  2104. insert it into the message string for l byte.
  2105.  
  2106.  "J" or "j" - Special Checksum
  2107.  
  2108.         This variable functions the same as "K", except that the checksum
  2109. is calculated by using boolean XOR rather than addition.
  2110.  
  2111.  "M" or "m" - Total Blocks Sent
  2112.         This variable starts at zero and is increased by l for each block
  2113. or section of data that is sent to the instrument.
  2114.  
  2115.  "N" or "n" - Channel Number
  2116.         This variable is set to the currently selected channel in the
  2117. Librarian Page.  (Actually, it's one less than that, as channel numbers
  2118. actually start at zero, but are labelled starting from one).
  2119.  
  2120.  "O" or "o" - Patch offset, only in send
  2121.         This variable is only used in special protocols that work in
  2122. cooperation with certain patch editors.  It is used when a patch editor
  2123. wants to send a "partial update".  This allows a patch editor to change
  2124. some of the data in a patch, and only send to the instrument the part
  2125. that was changed.  The "O" variable indicates the start of the changed
  2126. section.  For example, if the patch data was 488 bytes long, and the
  2127. bytes 52 through 69 had been changed, then "O" would be set to 52.
  2128.  
  2129.  "P" or "p" - Program Number
  2130.         This variable is set to one less than the  current value of the
  2131. Programme: indicator in the Librarian Page.  It ranges from 000 to l27.
  2132.  
  2133.         If Use Original Program #s is selected, in the Librarian Page /
  2134. Options menu, and we are sending data, the variable "P" will actually be
  2135. set to the original programme number that the patch was received from, as
  2136. shown in the library file.
  2137.  
  2138.  "Q" or "q" - Send Data Size
  2139.         This variable indicates the size of the data block that is to be
  2140. sent to the instrument.  Normally, this will be the full size of the
  2141. patch, but it could be less for "partial updates".  This variable is only
  2142. used to inform synthesizers that need to be told how much data to
  2143. receive.
  2144.  
  2145.  "R" or "r" - Total Bytes Received
  2146.         The total number of data bytes received so far in the transaction
  2147. (after packing if used with "Y" data).
  2148.  
  2149.  "S" or "s" - Total Blocks Received
  2150.         The total number of data bytes sent so far in the transaction
  2151. (after packing).
  2152.  
  2153.  "U" or "u" - Total Blocks Received
  2154.         This variable starts at zero and is increased by l each time the
  2155. protocol goes through the Ack-message/Data-message cycle.
  2156.  
  2157.  "V" or "v" - Value Last Received
  2158.         This variable is set to the value of the last data byte received.
  2159.  
  2160. String Variables
  2161.  Another type of variable that can be used in a protocol specification is
  2162. a string variable.  Each string variable corresponds to one of the
  2163. substrings in the bottom panel of the Protocol Editor.  For example, the
  2164. string variable "PR" stands for "Prefix".  Whenever a message field
  2165. contains the letters "PR", the contents of the Prefix: message text box
  2166. will be substituted in its place.  Message strings can get very long in
  2167. some cases, as well as very repetitive, so it's handy to be able to
  2168. define commonly used parts of messages.  There are four string variables.
  2169. They are as follows:
  2170.  
  2171. "PG" - Programme string
  2172.         This variable will be substituted with one of two strings,
  2173. depending upon whether the PREVIEW button in the Librarian Page is set.
  2174. If the PREVIEW button is set, then the message string labelled Preview
  2175. Programme: will be used; otherwise, the string labelled Normal Programme:
  2176. will be used.  This will allow the message protocol to vary based on the
  2177. setting of the PRE-VIEW button.  In many instruments, the "temporary
  2178. area" is accessed by altering the programme number sent to the
  2179. synthesizer.
  2180.  
  2181.  "PR" - Prefix
  2182.         This variable will be substituted with the contents of the Prefix
  2183. message string.  In almost all synths, the first few bytes of every
  2184. message that the synth will send or receive are the same as the first few
  2185. bytes of all of its other messages.  So to save typing, you can put those
  2186. bytes into the prefix string.
  2187.  
  2188.  "#l" - User string l
  2189.         This variable will be substituted with the contents of the #l:
  2190. message string.
  2191.  
  2192.  "#2" - User string 2
  2193.         This variable will be substituted with the contents of the #2:
  2194. message string.
  2195.  
  2196.         String variables can be used by themselves in a field, or as a
  2197. component of an expression if the resulting string is properly formed.
  2198. For example, you could use "(PR*6)" if PR was "04" but not if PR was
  2199. "04,03" (because you can't have a comma within a parenthesized
  2200. expression).
  2201.  
  2202. Data Variables
  2203.  Data variables represent data that is to be sent or received.  When
  2204. received, this is the actual data that will be stored in the library
  2205. entry; all other parts of the system exclusive message (header checksum,
  2206. Ack, etc) are discarded after being used.  When being sent, this data is
  2207. read from the library entry, and inserted into the transfer at the
  2208. correct point.  Data variables are specified by the letter "X" or "Y".
  2209. Each variable must be used in an expression followed by a length
  2210. specifier, and surrounded by prentheses, and indicates how many bytes of
  2211. data are to be transferred in each block.  In addition to a length
  2212. specifier, the Data variables may have an "offset" specifier, and a
  2213. "total" specifier.  The format for Data Transfer message fields can be as
  2214. follows (including parentheses):
  2215.  
  2216.         (Data.Length)
  2217.         (Date.Length:Total)
  2218.         (Data.Length.Offset)
  2219.         (Date.Length.Offset:Total)
  2220.  
  2221. Data
  2222.         There are currently two forms of Data variables.  Each can be
  2223. used for sending or receiving.
  2224.  
  2225.         The "X" command means the data is transferred normally, i.e. not
  2226. encoded in any way.  (This requires that the data is already in normal
  2227. format with the leading bit zeroed.)
  2228.         The "Y" command means the data is transferred in "nybbleized"
  2229. form.  Each byte of the data is sent or received as two bytes.  The first
  2230. byte contains the rightmost four bits of the original data byte, and the
  2231. second byte contains the leftmost four bits.  So, a command of (Y.l00)
  2232. will actually cause 200 bytes to be transferred, however these will be
  2233. packed back into l00 bytes after transfer.  Length specifiers, when used
  2234. with "Y" data, always specify the number of bytes in packed form.
  2235.  
  2236. Length
  2237.         The Length specifier follows the command field and is separated
  2238. from it by a period.  It indicates the size of the data block to be
  2239. transferred.  If there is only one block then it indicates the total size
  2240. of the data.
  2241.  
  2242.         A length specifier of zero indicates a special case that causes
  2243. the Librarian to ignore EOX (F7H, End of System Exclusive) and continue
  2244. to capture everything until the receive button is turned off.  For
  2245. example:
  2246.  
  2247.         (x.0)
  2248.  
  2249. Total
  2250.         The Total specifier can be used during receive only.  It follows
  2251. either the Length specifier or the Offset specifier.  It must be last in
  2252. the field and is separated from the previous specified by a colon (":").
  2253. It indicates the total number of bytes of all data blocks to be received.
  2254. If using nybbleized data, it specifies the total number of bytes in
  2255. packed form.  Music-X will continue to spend and receive messages until
  2256. the total amount of data transferred is equal to or greater than this
  2257. number.
  2258.  
  2259.  Offset
  2260.         There are some cases when data needs to be sent to an instrument
  2261. in a different order than it was received.  The Offset specifier is a way
  2262. of implementing that.
  2263.  
  2264.         The Offset specifier is only used when sending data.  It must
  2265. follow the Length specifier and is separated from it by a period.  The
  2266. Offset specifier can be positive or negative, and is used to read data
  2267. starting from any point in the library file.
  2268.  
  2269.         Normally, Music-X sends out data sections sequentially, starting
  2270. from the beginning of the library file.  For example, if the patch data
  2271. record was l00 bytes long, and you instructed Music-X to send 25 bytes
  2272. (say using (X.25)), the first time the message was transmitted Music-X
  2273. would send bytes l-25 of the data.  The second time it would send bytes
  2274. 26-50, and so on.  However, if you specified an offset of l0, as in
  2275. (X.25.l0), it would send bytes ll- 35 the first time, bytes 36-60 the
  2276. second time, etc.
  2277.  
  2278.         The way this works is, there is a "counter" that counts the
  2279. number of bytes of library data sent.  This counter is identical to the
  2280. "S" variable.  It starts at zero and increases by one with every byte.
  2281. This counter is normally also used to point to the next byte of library
  2282. data that is to be sent.  When an Offset specifier is used after a Data
  2283. Variable, the Offset and the counter are added together to calculate
  2284. which byte in the library file to send.
  2285.  
  2286.         *Note: Refer to the TX-8lZ.Voices protocol for an example of
  2287. this.
  2288.  
  2289. Special Commands
  2290.  In addition to the above, there are a number of miscellaneous special
  2291. commands:
  2292.  
  2293.  "W" - Wait
  2294.         Tells Music-X to wait for a specified time.  The length specifier
  2295. is used as a delay time, and is in 50ths of a second.  For example:
  2296.  
  2297.  (W.50)
  2298.  
  2299.         This field causes Music-X to wait for one second before
  2300. continuing with the message.
  2301.  
  2302.  "**" - Sentinel
  2303.         Sometimes it is not possible to tell exactly how long an incoming
  2304. message is going to be, as some instruments send messages of varying
  2305. length.  For this reason, the "sentinel" command has been included.  If
  2306. you know that a particular byte value is always going to be at the end of
  2307. a message, you can use the sentinel command to inform  Music-X that it
  2308. can use that value to detect when the message ends.  To use sentinel,
  2309. place the "**" immediately before the value to be used.  For example:
  2310.  
  2311.         44,56,73,99,**F7
  2312.  
  2313.         This example tells Music-X that the first "F7" received will
  2314. indicate the end of the message.  Sentinel values are usually the last
  2315. byte of a message.
  2316.  
  2317.  "@@" - Special Sentinel
  2318.         This is used to indicate the last data block in the transfer.  To
  2319. use sentinel, place the "@@" immediately before the value to be used.
  2320. When this value is detected during receive, the protocol breaks out of
  2321. the Ack- message/Data message cycle.
  2322.  
  2323.         When this value is to be used during send, the value is sent with
  2324. the last block at the specified point.
  2325.  
  2326.  "FIN" - Send Final Message.
  2327.         Some synthesizers require that when receiving data from the, a
  2328. final "Ack" message be sent after all data has been received.  the FIN
  2329. command, if included in a message, will enable this behaviour.  The "FIN"
  2330. command can be anywhere in the "Ack" message.
  2331.  
  2332. PROTOCOL LANGUAGE SUMMARY
  2333.  
  2334.  Field Typesand Literals
  2335.  
  2336.  Literal Values
  2337.  
  2338.  Hexadecimal number = numeric value
  2339.  Singly quoted character(s) (") = literal ASCII value
  2340.  Double quoted character string ("") = literal byte string
  2341.  
  2342.  Expression Operators
  2343.  
  2344.  +     =    Add -     =    Subtract (or negative)
  2345.  *     =    Multiply
  2346.  /     =    Divide
  2347.  %     =    Modulus
  2348.  !     =    Boolean NOT
  2349.  &     =    Bollean AND
  2350.  ^     =    Boolean Exclusive OR
  2351.        =    Boolean OR
  2352.  <<    =    Logical Bit Shift Leaf
  2353.  >>    =    Logical Bit Shift Right
  2354.  ()    =    Parenthesized expression
  2355.  >=    =    Assignment
  2356.  
  2357.  Substring Codes
  2358.  
  2359.  PR    =    Prefix Substring
  2360.  PG    =    Programme Substring
  2361.  #l    =    User String #l
  2362.  #2    =    User String #2
  2363.  
  2364.  Variables (upper or lower case allowable)
  2365.  
  2366.  J     =    Exclusive-OR checksum
  2367.  K     =    Additive Checksum
  2368.  M     =    Total Blocks Sent
  2369.  N     =    MIDI Channel Number
  2370.  0     =    Patch Offset
  2371.  P     =    Programme Number
  2372.  Q     =    Number of Bytes to Send
  2373.  R     =    Total Bytes Received
  2374.  S     =    Total Bytes Sent
  2375.  U     =    Total Blocks Received
  2376.  V     =    Value Last Received
  2377.  
  2378.  Data Type Codes
  2379.  
  2380.  X     =    Send/Receive Normal Data
  2381.  Y     =    Send/Receive Nybbleized Data
  2382.  
  2383.  Misc Field Type Codes
  2384.  
  2385.  **    -    Sentinel
  2386.  @@    =    Special Sentinel
  2387.  FIN   =    Send Final Acknowledge after transfer complete
  2388.  ##    =    Wildcard
  2389.  W     =    Wait
  2390.  
  2391.  Checksum Delimiters
  2392.  
  2393.  (     =    Beginning Checksumming un-encoded data
  2394.  )     =    End Checksumming un-encoded data
  2395.  ((    =    Begin Checksumming nybbleized data
  2396.  ))    =    End Checksumming nybbleized data
  2397.  
  2398.  MessageStringSyntax:
  2399.  
  2400.  The following describes the syntax, or grammar of the message strings.
  2401. Each description begins with the name of a syntax component, followed by
  2402. a colon.  Below each of these is the symbol or list of symbols which
  2403. define the legal ways in which the syntax component can be formed.
  2404. Groups of symbols in brackets ("()") are optional, ellipsis ("...")
  2405. indicate that more such symbols may follow, and italicized words
  2406. represent other syntax components.  The syntax components misc-field-
  2407. type-code, substring-code-variable,literal- value and expression are
  2408. defined in the previous section.
  2409.  
  2410.  Message string:
  2411.       field (,field)...
  2412.  
  2413.  field:
  2414.       literal-value
  2415.       substring-code
  2416.       variable
  2417.       misc-field-type-code
  2418.       (expression)
  2419.       (expression.length)
  2420.       (variable.length)
  2421.       (misc-field-type-code.length)
  2422.       (data-type-code(length(.offset))(:total))
  2423.  
  2424.  length:
  2425.       expression
  2426.  
  2427.  offset:
  2428.       expression
  2429.  
  2430.  total:
  2431.       expression
  2432.  
  2433.  TransferModels:
  2434.  
  2435.  Receive:
  2436.  
  2437.       Init - Initiate     - tell instrument to initiate data transfer.
  2438.       Conf - Confirm      - instrument indicates it's ready.
  2439.       Ack  - Acknowledge  - tell instrument to send next block
  2440.       Data - Receive Data - data sent by instrument.
  2441.  
  2442.       (Ack & Data repeat until end of transfer detected).
  2443.  
  2444.  Send:
  2445.  
  2446.       Init - Initiate     - alert instrument to receive data transfer.
  2447.       Conf - Confirm      - instrument indicates it's ready.
  2448.       Data - Send Data    - data sent to instrument
  2449.       Ack  - Acknowledge  - instrument ready for next block.
  2450.  
  2451.       (Data & Ack repeat until all data sent).
  2452.  
  2453. KEYBOARD EQUIVALENTS
  2454.  
  2455.  SYSTEM MESSAGE REQUESTERS             | RightAmiga-"L" = (L)ibrarian Page
  2456.  RETURN for rightmost button or OK     | RightAmiga-"Q" = (Q)uit Music-X
  2457.                                        | RightAmiga-"P" = Loan (P)erformance
  2458.  SEQUENCER PAGE                        | RightAmiga-"V" = Sa(v)e Performance
  2459.  ESC (Escape key) = All notes off      | RightAmiga-"O" =(O)utput Channelizer
  2460.                                        | Function key Fl = Set Punch-In
  2461.  "B" = P(B)EGIN                        | Function key F2 = Set Punch-Out
  2462.  "E" = (E)ND                           | RightAmiga-"C" = (C)opy Sequence
  2463.  "1" - CUE(l)                          | RightAmiga-"X" = E(x)tract Sequence
  2464.  "2" = CUE(2)                          | RightAmiga-"Z" = Togle (Z)ero Origin
  2465.  "3" = CUE(3                           |
  2466.  "4" = CUE(4                           | CursorUp = Move up through sequence
  2467.  "=" = SET                             |            list
  2468.                                        | CursonDown = Move down through list
  2469.  SPACE BAR = PAUSE                     | SHIFT-CursorUp = Page up through
  2470.  "(" = Rewind                          |                  list
  2471.  "P" = (P)LAY                          | SHIFT-CursonDown = Page down through
  2472.  ")" = Fast Forward                    |                    list
  2473.  "R" = (R)ECORD                        |
  2474.  "S" = (S)TOP                          | RECORDER REQUESTER
  2475.                                        |
  2476.  SHIFT-"S" = (S)TORE                   | "G" = (G)O
  2477.  SHIFT-"E" = (E)DIT                    | "C" = (C)ANCEL
  2478.  SHIFT-"D" = (D)ELETE                  |
  2479.  SHIFT-"P" = (P)REVIEW                 | SEQUENCE SELECTOR
  2480.  SHIFT-"R" = Clock:(R)elative Clock    |
  2481.  SHIFT-"A" = Time: (A)bsolute Clock    | "O" = (O)K
  2482.                                        | "C" = (C)ANCEL
  2483.  RightAmiga-"." = Suspend Music-X      | CursorUp = Move up through sequence
  2484.  RightAmiga-"S" = (S)equencer Page     |            list
  2485.  RightAmiga-"F" = (F)ilters Page       | CursorDown = Move down through list
  2486.  RightAmiga-"A" = (A)miga Samples Page | SHIFT-CursorUp = Page up through
  2487.                                        |                  list
  2488.                                        | SHIFT-CursorDown = Page down  through
  2489.                                        |                    list
  2490.                                        |
  2491.                                        | SUSPEND WINDOW
  2492.                                        |
  2493.                                        | RETURN (Return key) = RESUME
  2494.  OUTPUT CHANNELS                       | RightAmiga "T" = S(t)ore Sequence
  2495.                                        | RightAmiga-"R" = (R)ecall Sequence
  2496.  "O" = (O)K                            | RightAmiga-"X" = E(x)it Editor
  2497.  "C" = (C)ANCEL                        | RightAmiga-"B" = (B)ar Editor
  2498.  "N" = (N)0, CANCEL                    | RightAmiga-"E" = (E)vent Editor
  2499.                                        | RightAmiga-"K" = Cut
  2500.  BAREDITOR                             | RightAmiga-"C" = (C)opy
  2501.                                        | RightAmiga-"D" = (D)elete
  2502.  ESC (Escape key) = All notes off      | RightAmiga-"P" = (P)aste
  2503.                                        | RightAmiga-"A" = Select (A)ll
  2504.  "/" = SetSig                          |
  2505.  "A" = (A)dd                           | CursorUp = Move current event up in
  2506.  "I" = (I)nsert                        |            score
  2507.  "C" = Move (change)                   | CursorDown = Move current event down
  2508.  "V" = Remo(v)e                        |              in score
  2509.  SHIFT-"L" = (L)ock                    | CursorLeft = Move current event
  2510.  "E" = S(e)lect                        |              earlier in score
  2511.  "M" = (M)ark                          | CursorRight = Move current event
  2512.  "U" = (U)nmark                        |               later in score
  2513.  HELP (Help key) = Restore last        | SHIFT-CursorUp = Move note up l
  2514.                   deleted event(s)     |                  octave
  2515.  "Z" = (Z)oom+                         | SHIFT-CursorDown = Move note down l
  2516.  SHIFT-"Z" = (Z)oom-                   |                    octave
  2517.  SHIFT-"S" = (S)nap                    |
  2518.  "Q" = (Q)uiet                         | EVENT EDITOR
  2519.  "L" = Scro(l)l                        |
  2520.  "G" = (G)rid                          | "/" = SetSig
  2521.  SHIFT-"P" = (P)arams                  | "D" = (D)up
  2522.  SHIFT-"R" = (R)epeat                  | "V" = Remo(v)e
  2523.  SPACE BAR = PAUSE                     | HELP (Help key) = Restore last
  2524.  "P" = (P)LAY                          |                   deleted event(s)
  2525.  "R" - (R)ECORD                        | "M" = Select (think (M)ark)
  2526.  "S" = (S)TOP                          | "U" = (U)nmark
  2527.  "(" = BACK                            | "N" = U(n)do
  2528.                                        | "C" = S(c)roll
  2529.  RightAmiga-"L" = (L)oad Sequence      | "G" = (G)rid
  2530.  RightAmiga-"S" = (S)ave Sequence      | SHIFT-"P" = (P)arams
  2531.  RightAmiga-"N" = (N)ew  Sequence      | SHIFT-"R" = (R)epeat
  2532.  RightAmiga-"/" = Select Sequence      | "Q" = (Q)ueit
  2533.                                        | SPACE BAR = PAUSE
  2534.                                        | "P" = (P)LAY
  2535.                                        | "R" = (R)ECORD
  2536.                                        | "S" = (S)TOP
  2537.                                        | ")" = STEP
  2538.                                        | "(" = BACK
  2539.  RightAmiga-"L" = (L)oad Sequence      | RightAmiga-"L" - (L)oad
  2540.  RightAmiga-"S" = (S)ave Sequence      | RightAmiga-"SA" = (S)ave
  2541.  RightAmiga-"N" = (N)ew Sequence       | RightAmiga-"X" = E(x)it
  2542.  RightAmiga-"/" = Select Sequence      |
  2543.  RightAmiga-"T" = S(t)ore Sequence     | AMIGA SAMPLES PAGE
  2544.  RightAmiga-"R" = (R)ecall Sequence    |
  2545.  RightAmiga-"X" = E(x)it Editor        | ESC (Escape key) = All notes off
  2546.  RightAmiga-"B" = (B)ar Editor         |
  2547.  RightAmiga-"E" = (E)vent Editor       | RightAmiga=-"I" = Load (I)FF Sample
  2548.  RightAmiga-"K" = Cut (Kut)            | RightAmiga "X" = Load Soni(x) Sample
  2549.  RightAmiga-"C" = (C)opy               | RightAmiga "V" = Sa(v)e IFF Sample
  2550.  RightAmiga-"D" = (D)elete             |
  2551.  RightAmiga-"P" = (P)aste              | CusorUp = Move up through sample
  2552.                                        |           list
  2553.  RightAmiga-"A" = Select (A)ll         | CursorDown = Move down through
  2554.                                        |              sample list
  2555.                                        |
  2556.  CursorUp = Move up through event list | LIBRARIAN PAGE
  2557.  CursorDown = Move down through event  |
  2558.              list                      | ESC (Escape key) = All notes off
  2559.  CursorLeft = Move left through current|                    event
  2560.                                        | "S" = (S)END
  2561.  CursorRight = Move right through      | "R" = (R)ECEIVE
  2562.               current event            | "A" = (A)LL
  2563.  SHIFT-CursorUp = Page up through list | "V" = PRE(V)IEW
  2564.  SHIFT-CursorDown = Page down through  | "P" = (p)rogramme:
  2565.                    list                | "E" = (E)dit Entry
  2566.                                        |
  2567.  QUANTIZER                             | RightAmiga-"N" = (N)ew
  2568.                                        | RightAmiga-"O" = L(o)ad
  2569.  "Q" = (Q)UANTIZE                      | RightAmiga-"V" - Sa(v)e
  2570.  "C" - (C)ANCEL                        | RightAmiga-"C" = (C)lose
  2571.                                        |
  2572.  KEYMAP EDITOR                         | PROTOCOL EDITOR
  2573.                                        |
  2574.  ESC (escape key) = All notes off      | RightAmiga-"L" = (L)oad
  2575.  "U" = (U)NDO                          | RightAmiga-"S" = (S)ave
  2576.  "C" = (C)ANCEL                        | RightAmiga-"X" = E(x)it
  2577.  "O" = (O)K                            |
  2578.  "H" = S(H)OW                          |
  2579.  "R" = (R)ANGE                         |
  2580.  "S" = (S)ET                           |
  2581.  "1" = Keymap (l)                      |
  2582.  "2" = Keymap (2)                      |
  2583.  "3" - Keymap (3)                      |
  2584.  "4" = Keymap (4)                      |
  2585.  
  2586.  
  2587. WHAT IS AN EDITOR?
  2588.  An editor provides a way to look into a sequence and manipulate the
  2589. contents; it lets you "get at the guts" of a sequence.  An editor may be
  2590. used to correct a prerecorded sequence, or to create a new sequence from
  2591. scratch.
  2592.  
  2593. WHAT IS A SEQUENCE?
  2594.  A sequence is a list of things-to-do and when-to-do-them.  These things-
  2595. to- do are called "events".  Events play notes, send programme changes,
  2596. change the tempo, etc.  When Music-X plays a sequence, it reads through
  2597. the its and executes each event at the proper time.
  2598.  
  2599. EVENT PARAMETERS
  2600.  Each event can have multiple attributes or properties.  These properties
  2601. are called "parameters".  For example, a single note event has the
  2602. parameters of start time, pitch, duration, MIDI channel, attack velocity,
  2603. and release velocity.
  2604.  
  2605. TWO EDITORS
  2606.  Music-X has two sequence editors, the Bar Editor and the Event Editor.
  2607. Each editor provides a different way to look at the same events.  One can
  2608. switch between the Bar Editor and the Event Editor freely, using each for
  2609. its strengths.
  2610.  
  2611. EDITING SINGLE EVENTS
  2612.  Many events are displayed at once in the editor screens.  In order to
  2613. change the parameters of a single event, you first pick it out of the
  2614. crowd.  That event then becomes the "current event".  The controls in
  2615. each editor are designed to automatically configure themselves to the
  2616. parameters of the current event.  To edit the parameters of a single
  2617. event, you make it the current event and then tweak the controls.
  2618.  
  2619. EDITING MULTIPLE EVENTS
  2620.  It is possible to change the parameters of a group of events all at the
  2621. same time.  In order to do this the group must first be defined.  There
  2622. are two main ways to do this.  The first way is to "select" the desired
  2623. events individually until the group is complete.  The second way is to
  2624. "mark" a region of time.  These methods are explained in more detail
  2625. later.  Once the group is defined, special editing functions can be
  2626. called that operate on the group as a whole.
  2627.  
  2628. THE EDIT BUFFER
  2629.  When you first choose to edit a sequence, by clicking EDIT in the
  2630. Sequencer Page, a copy of the current sequence is written into the Edit
  2631. Buffer and you are moved into one of the editors.  The editors are then
  2632. used to make changes to the Edit Buffer without affecting the original
  2633. sequence.  It is safe to experiment.  When satisfied with the changes,
  2634. you store the newly edited version of the sequence back over the
  2635. original.
  2636.  
  2637.  *Note:  The Edit Buffer is the same thing as the Record Buffer.  In fact
  2638. it is possible to edit the Record Buffer immediately after recording,
  2639. without first storing it to sequence memory.  Simply click EDIT from the
  2640. sequencer page after recording, and when the safety prompt appears, click
  2641. the EDIT IT option to edit the current contents of the Record Buffer.
  2642.  
  2643.  (See Sequencer Page / EDIT)
  2644.  
  2645. BAR EDITOR OVERVIEW
  2646.  In the Bar Editor, notes appear as coloured bars - thus the name!  (Not
  2647. to be confused with "bar" meaning "measure".)
  2648.  
  2649.  The Bar Editor displays events graphically, as icons positioned in a
  2650. two- dimensional time/pitch graph.  Events can be added to, removed from,
  2651. and repositioned in the graph using the mouse.  This makes editing a
  2652. sequence in the Bar Editor rather like using a paint programme; notes can
  2653. be "painted" onto the score using the mouse as a brush.
  2654.  
  2655.  The rest of the Bar Editor chapter explains all the features of the Bar
  2656. Editor Page one by one, roughly in the order that they are found on the
  2657. screen (left to right, top to bottom).
  2658.  
  2659. TITLEBAR
  2660.  The title bar is displayed along the top of all Music-X pages to show
  2661. which page is currently being used.  In the Bar Editor, the name of the
  2662. sequence currently being edited appears here as well, following the word
  2663. Sequencer:
  2664.  
  2665.  The Title Bar becomes the Menu Bar, containing menu titles, when the
  2666. right mouse button is pushed.  To access any menu on any page, press the
  2667. right mouse button and point to the desired menu title in the Menu Bar.
  2668. The chosen menu will "pull down", listing the available menu items.  To
  2669. chose a menu item, point to it, and release the right mouse button while
  2670. the item is highlighted.
  2671.  
  2672. FILEMENU
  2673.  The File Menu is used to move whole sequences in and out of the Edit
  2674. Buffer.  Sequences can be moved to and from disk using save and select.
  2675. This menu is available from both editors and function identically in both
  2676. cases.
  2677.  
  2678.  Following are descriptions of the items available in the File menu, and
  2679. the functions that they initiate.
  2680.  
  2681. Load...
  2682.  (RightAmiga-"L" from the keyboard)
  2683.  
  2684.  This function loads a previously saved sequence file into the Edit
  2685. Buffer from disk so that it may be edited.  The previous contents of the
  2686. Edit Buffer are lost. Choosing Load... calls the File Requester.  Use the
  2687. File Requester to locate the sequence file on disk, then click OK to load
  2688. the file.  Otherwise, click CANCEL to return to the editors without
  2689. loading.
  2690.  
  2691.  (See File Requester chapter).
  2692.  
  2693. Save...
  2694.  (RightAmiga-"S" from keyboard)
  2695.  
  2696.  This item saves the contents of the Edit Buffer to disk in a sequence
  2697. file.
  2698.  
  2699.  Choosing Save... calls the File Requester.  Use the File Requester to
  2700. locate the drawer to save your file in.  Then use the File Requester to
  2701. name your new file.  The recommended file extension for sequence files is
  2702. ".Seq".  Click OK to save the file, or click CANCEL to return to the
  2703. editors without saving.
  2704.  
  2705.  (See File Requester chapter)
  2706.  
  2707.  Saving a sequence file also creates an icon for that file in the same
  2708. drawer.  When seen from the Workbench, the icons for sequence files look
  2709. the same as performance file icons - like little audio cassettes.
  2710.  
  2711.  *Note:  A sequence file contains one sequence only.  Multiple sequences
  2712. may be saved in a performance file.
  2713.  
  2714.  (See Sequencer Page / File Menu / Save Performance)
  2715.  
  2716. New
  2717.  (RightAmiga-"N" from the keyboard)
  2718.  
  2719.  This function erases the current contents of the Edit Buffer leaving  a
  2720. new blank sequence containing only an End event.
  2721.  
  2722.  A blank sequence is a good starting place when building a sequence from
  2723. scratch.  Events can then be added one by one using the editor as a
  2724. compositional tool.
  2725.  
  2726.  Choosing New first calls a safety prompt to prevent accidental loss.
  2727. Click No to back out safely.  Otherwise, click Yes to proceed.  The Edit
  2728. Buffer is then erased.
  2729.  
  2730. PROGRAMME CHANGE
  2731. When this item is checked, Programme Change events will be displayed.
  2732. Programme Change events appear as text written in the score, coloured
  2733. according to their MIDI channel.  The abbreviation "PGM:" is followed by
  2734. the programme number.  Example: PGM:090.
  2735.  
  2736. CHANNEL A.T.
  2737.  Read this menu items as "Channel Aftertouch".  When this item is
  2738. checked, Channel Aftertouch events are displayed.  Aftertouch events
  2739. look rather like pins; they are displayed as dots supported by lines
  2740. connected to the bottom of the score window, coloured according to their
  2741. MIDI channel.  The height of each dot shows the relative aftertouch
  2742. pressure.
  2743.  
  2744. Polyphonic A.T.
  2745. Read this menu item as "Polyphonic Aftertouch".  When this item is
  2746. checked, Polyphonic Aftertouch events will be displayed.  Both types
  2747. of aftertouch, as well as Control Change events, look the same.  When
  2748. PLYPHONIC A.T. is turned on, the other two are turned off.
  2749.  
  2750. CONTROL CHANGE
  2751.  When this item is checked, Control Change events will be displayed.
  2752. Control Change events are displayed the same way as the two Aftertouch
  2753. types.  When any of the three are turned on, the other two are
  2754. automatically turned off.
  2755.  
  2756. Pitch Bend
  2757.  When this item is checked, Pitch Bend events will be displayed.  Pitch
  2758. Bend events appear as small diamonds coloured according to their MIDI
  2759. channel.
  2760.  
  2761. System Exclusive
  2762.  When this item is checked, System Exclusive events will be displayed.
  2763. System Exclusive events appear as small black vertical dashes spanning
  2764. the height of about two pitch lines.
  2765.  
  2766. Modules Menu
  2767.  The MODULES menu is where access is given to externally loaded editing
  2768. modules.  These modules are small programmes that operate on the data in
  2769. the Edit Buffer in special ways.  They can be called and used from either
  2770. editor.  Three editing modules are included with Music-X as released.
  2771. The menu items that call them are:
  2772.  
  2773. QUANTIZE.....
  2774. SCALE VELOCITY.....
  2775. SCALE AFTERTOUCH.....
  2776.  
  2777. The following three subchapters describe these Modules.
  2778.  
  2779. Quantizer Module
  2780.  To call this module from within either editor, chose QUANTIZE... from
  2781. the modules menu.  The Quantizer is used to alter (correct) the timing of
  2782. events in a sequence.
  2783.  
  2784. The Quantizer is so named because it deals with quantities of time.  Most
  2785. music assumes an underlying regular pulse on which the music is placed.
  2786. This is represented in Music-X by the "Grid".  The Quantizer is used to
  2787. make sure the timed execution of notes is nice and close to this ideal
  2788. Grid.  A quantized sequence will sound very even and regular.
  2789.  
  2790. The spacing between Grid points is called the "Grid Size".  By using
  2791. different Grid sizes, you can get triplets, etc.
  2792.  
  2793. The Grid Size is set using the GRID tool found in the Tool List on the
  2794. right edge of the Bar Editor Page.  This should be done before calling
  2795. the Quantizer, to set up the appropriate Grid and Duration.  The
  2796. currently selected Grid Size gives an idealized timing reference used as
  2797. a target by the Quantizer when moving the start times of events.
  2798. Duration can be explained as the length of time between the start and the
  2799. end of a note (between the MIDI Note On and NOte Off).  The currently
  2800. selected duration is used by the Quantizer as an idealized reference when
  2801. quantizing durations.
  2802.  
  2803. (see Bar Editor / Grid)
  2804.  
  2805. The Error Spectrum
  2806.  Let us say we have set up a Grid of quarter notes.  Each Grid point is
  2807. l92 clocks away from the next.  (A clock is the smallest amount of time
  2808. possible in a Relative 192.
  2809.  
  2810. Durations      l            2            3           4
  2811.     Count
  2812.     Grid      -95          +96      {  Error      Spectrum
  2813.  
  2814. Illustration 7.5: Error Spectrum
  2815.  
  2816. These are out ideal "downbeats".  Now imagine the area of time
  2817. surrounding each Grid point and extending halfway to the next Grid point
  2818. in both directions (earlier and later).  This area of time creates a
  2819. margin around each Grid point that can be called the "error spectrum".
  2820. Any notes within the error spectrum are considered by the Quantizer to be
  2821. deviations from the ideal Grid point in the centre of the spectrum.  The
  2822. further away from the centre that a note starts, the greater the timing
  2823. error.  So, for instance, with our Grid of quarter notes, which is
  2824. l92 clocks wide, a note may start as early as 95 clocks before the beat
  2825. or as late as 96 clocks after the beat and still be quantized correctly.
  2826.  
  2827. After you have recorded a live performance, changes are that there will
  2828. be minor (or major) differences in timing between the way you played it
  2829. and the way you wish you had played it.  The Quantizer will "comb"
  2830. through all the notes you played and move them to the closest Grid point.
  2831. Say you played a four-note arpeggio, approximately in quarter notes.  And
  2832. let us assume that we have previously set a Grid of quarter notes (l92
  2833. clocks) by using the Grid requester.  Here are the times before and after
  2834. quantization (shown as measures.beats.clocks).
  2835.  
  2836. Note         Played Time        Quantized Time
  2837.  
  2838.  C4          000l.0l.0l0         000l.0l.000
  2839.  E4          000l.02.004         000l.02.000
  2840.  G4          000l.02.l90         000l.03.000
  2841.  C5          000l.03.l65         000l.04.000
  2842.  
  2843. Knowing that each quarter note contains l92 clocks, you can see here that
  2844. the first note was played late by l0 clocks, the second was late by 4
  2845. clocks, the third note was early by 2 clocks and the fourth note was
  2846. early by 27 clocks.  The Quantizer moved each one to the closest nearby
  2847. Grid point.
  2848.  
  2849. In the right half of the Quantizer Module's window is a column of buttons
  2850. for the various quantizing options.  Following are descriptions of those
  2851. options.
  2852.  
  2853.  QUANTIZE EVENTS                               Quantization Size:   0l92
  2854.  
  2855.  Min Threshold:        (     ) Start Only
  2856.                          00
  2857.  
  2858.  Max Threshold:        (     ) Duration Only
  2859.  
  2860.                          96
  2861.  
  2862.                        (     ) Stop Only Effect %:
  2863.  
  2864.                          l00
  2865.  
  2866.                        (     ) Start + Duration
  2867.  
  2868.                        (((((() Selected Events
  2869.  
  2870.                        (      ) All
  2871.  
  2872.                        (      ) Start + Stop
  2873.  
  2874.  
  2875.                        QUANTIZE
  2876.  
  2877.                         CANCEL
  2878.  
  2879.                        (((((() Start w/Duration
  2880.  
  2881. Illustration 7.6
  2882.  
  2883. START ONLY will move only the Note On portion of Note events to the
  2884. nearest Grid point and leave the Note Offs where they were.  The
  2885. durations may be arbitarily changed.
  2886.  
  2887. DURATION ONLY will leave the NOte Ons where they are and move each Note
  2888. Off earlier or later in time to cause the duration of the note to resolve
  2889. to the nearest multiple of the chosen duration.  Example:  If you have
  2890. chosen eighth notes as your duration, and the original duration of a note
  2891. to be quantized is somewhere between a true quarter note (two eights) and
  2892. a true dotted quarter note (three eighths), then the Quantizer will move
  2893. the Note Off earlier or later to whichever value is closer; the note will
  2894. end up being exactly a quarter note or exactly a dotted note in duration.
  2895.  
  2896. STOP ONLY will move Note Offs to the closest Grid point.  Note Ons are
  2897. not moved.  Durations may be arbitarily changed.
  2898.  
  2899. START + DURATION will move the Note Ons towards the nearest Grid point
  2900. and adjust the Note Offs so that the duration is moved towards the
  2901. nearest multiple of the chosen duration.  In most cases this identical to
  2902. START + STOP (see below).   It would be different in cases where the Grid
  2903. Size and the chosen Duration are different.  Suppose you set your Grid to
  2904. sixteenth notes and your Duration to whole notes.  The Note Ons would be
  2905. moved to the closest Grid point but instead of adjusting the end points
  2906. to the nearest sixteenth note Grid, the Quantizer would adjust the end
  2907. points to make the overall duration of the note some multiple of whole
  2908. notes.  This is a versatile feature.  Experiment with different settings.
  2909.  
  2910. START + STOP will move both Note Ons and Note Offs towards the nearest
  2911. Grid point (even in opposite directions).  Durations may be altered
  2912. arbitarily, but will end up as some multiple of the Grid Size (not
  2913. necessarily some multiple of the current Duration setting).
  2914.  
  2915. START w/DURATION means "start with same duration".  In other words,
  2916. Quantize the start time but leave the duration the same".  This will move
  2917. the Note Ons to the nearest Grid point and move the related Note Off in
  2918. the same direction by the same amount, leaving the overall duration of
  2919. the note the same as it was originally played.  This is good for
  2920. correcting the timing of a phrase while staying close to the original
  2921. articulation.  The gaps between notes retain most of their original feel;
  2922. legato or staccato sections will still sound legato or staccato.
  2923.  
  2924. In the left half of the Quantizer Module's window are three virtual
  2925. sliders that limit the overall effect of quantization.
  2926.  
  2927. Minimum Threshold: This slider tells the Quantizer at what point along
  2928. the error spectrum to start quantizing.  You can choose NOT to quantize
  2929. rhythms that are within a certain number of clocks from the Grid centre,
  2930. early or late.  This is like saying, "If it is close enough already, let
  2931. us leave it alone so it does not sound too robotic!"  You can set the
  2932. threshold from 000 clocks to l/2 the current Grid Size or Duration,
  2933. whichever is bigger.  Example: 000 to 96 clocks are available when
  2934. quantizing quarter notes (a quarter note is l92 clocks).  Setting a
  2935. minimum threshold of 5 will only quantize notes occurring at 5 clocks or
  2936. further from the Grid centre.
  2937.  
  2938. Maximum Threshold: This slider tells the Quantizer at what point along
  2939. the error spectrum to stop quantizing.  You can choose to leave rhythms
  2940. as they are if they are beyond a certain number of clocks from the Grid,
  2941. early or late.  This is like saying, "If it is THAT far off, I must have
  2942. meant it!".  Possible settings range from 000 clocks to l/2 the current
  2943. duration or current Grid Size whichever is bigger.  Example: 000 to 24
  2944. clocks are available when quantizing sixteenth notes (a sixteenth note is
  2945. 48 clocks).  Setting a maximum threshold of l0 would only quantize notes
  2946. occurring at l0 clocks or closer from the Grid centre.
  2947.  
  2948. Effect %:  Read this slider as "Effect  Percent".  This slider lets you
  2949. tell the Quantizer to only partially quantize the notes; to just move the
  2950. notes part of the way towards the nearest Grid or Duration.  If your note
  2951. is l0 clicks away from the Grid and you choose a 50 percent effect, the
  2952. note will be moved to 5 clicks away from the Grid.  If you still want it
  2953. closer, run the Quantizer again, the note will be moved a little closer
  2954. each time.  It is like saying "The track is pretty close as it is.  I
  2955. just want it a little tighter without making it sound stiff".  If you are
  2956. quantizing Durations, then the effect percent slider will partially
  2957. quantize them as well.
  2958.  
  2959. Below the sliders are two switches that determine which overall group of
  2960. events will be considered for quantization.
  2961.  
  2962. Selected Events  When this switch is on, only those events currently
  2963. Selected in the sequence, or those events within a Marked region of time
  2964. will be quantized according to the parameters set above.  If no events
  2965. are currently Selected, or Marked, and this switch is on, then no effect
  2966. will be herd.  When the SELECTED EVENTS switch is on, the ALL switch (see
  2967. below) is automatically turned off.
  2968.  
  2969. (See Bar Editor / Select)
  2970.  
  2971. (See Bar Editor / Mark)
  2972.  
  2973. ALL When this switch is on, all the events in the current sequence will
  2974. be quantized according to the parameters set above.  Actually, only Note
  2975. events and certain Music-X events will be affected.  Everything else is
  2976. left along automatically.  It is assumed, for instance, that nobody wants
  2977. to quantize pitch bend information.
  2978.  
  2979. (See Bar Editor / Event Types)
  2980.  
  2981. QUANTIZE.  This button, when clicked, causes the Quantizer to go ahead
  2982. and quantize according to the parameters set up in the other controls.
  2983. When done setting up the parameters, click CANCEL or press the "C" key to
  2984. safely exit the Quantizer.
  2985.  
  2986. Velocity Scaling Module
  2987.  This Module can be called and used from either editor by shoosing SCALE
  2988. VELOCITY... from the Modules menu.
  2989.  
  2990. The Volocity Scaling module is used to alter the attack and release
  2991. velocities of notes in a sequence.  It can operate on the whole sequence
  2992. or on any set of two or more notes within the sequence.
  2993.  
  2994. WHAT IS VELOCITY?
  2995.  Attack velocity and release velocity are two of the parameters
  2996. associated with a Note event and are sent in MIDI NOte On and Note Off
  2997. messages respectively.
  2998.  
  2999. The attack velocity of a note relates to how fast the key was pressed on
  3000. the mother keyboard.  (This does not mean a faster musical tempo, but
  3001. rather how fast the key travels from full up to full down position.  Most
  3002. performers think of this as how "hard" they hit the keys.)  Various
  3003. synths use this parameter to control either the timbre of the sound, the
  3004. volume of the sound, or both.  Some synths use it to control the attack
  3005. rate or other portions of their envelope generators as well.  The theory
  3006. is that if you play faster, you want the sound louder, brighter, and
  3007. quicker in responding.  And if you play slower, you want it softer,
  3008. darker, and slower in responding.
  3009.  
  3010. The release velocity of a note relates to how fast you release the key
  3011. from the depressed position.  Like attack velocity, this is used by
  3012. various synths to control the timbre, volume, or articulation of the
  3013. sound.  Unfortunately, it is less widely supported by synth manufacturers
  3014. than attack velocity is.  In the hardware of an electronic keyboard,
  3015. velocity is actually measured by cuasing a key to close or open two
  3016. separate switches, one near the beginning of travel and one near the end,
  3017. and noting the amount of time between the closings.  It really has
  3018. nothing to do with how hard you play the key but rather, how fast.
  3019.  
  3020. VELOCITY  SCALING
  3021.  
  3022.                  Initial Level:   l00
  3023.  
  3024.                    Final Level:   l00
  3025.  
  3026.                  Ramdom Factor:   000
  3027.  
  3028.              ((((() Attack Velocity
  3029.  
  3030.              (    ) Release Velocity
  3031.  
  3032.              ((((() Marked Events
  3033.  
  3034.              (    ) Entire Sequence
  3035.  
  3036.           (SCALE)                        (CANCEL)
  3037.  
  3038. Illustration 7.7
  3039.  
  3040.  
  3041. Choosing SCALE VELOCITY... from the Modules menu opens the VELOCITY
  3042. SCALING widow.  The scaling module affects the intensity of attack and
  3043. release velocities of Note events according to parameters set up in the
  3044. window by you.  It is generally used to create crescendos (loud at the
  3045. beginning, soft at the end), or to raise or lower the velocity of a range
  3046. of notes all together.
  3047.  
  3048. Following are descriptions of the parameters in the VELOCITY SCALING
  3049. window.
  3050.  
  3051. Initial Level:
  3052.  The Initial Level slider sets the desired percentage of current velocity
  3053. for the first (initial) note in a range.
  3054.  
  3055. This parameter together with the FINAL LEVEL parameter creates a ramp of
  3056. percentages over time from the initial event to the final event.
  3057.  
  3058. The slider ranges from 000 percent of current velocity to 300 percent of
  3059. current velocity.  As each event is processed, its  velocity will be
  3060. changed by the percentage dictated by the level of the ramp at that point
  3061. in time.
  3062.  
  3063. Final Level:
  3064.  The Final Level slider sets the desired percentage of current velocity
  3065. for the last (final) note in a range.
  3066.  
  3067. If the Final level is set higher than the Initial level, then a
  3068. crescendo-type effect will be imparted.
  3069.  
  3070. If the Final level is set lower than the Initial level, then a
  3071. decrescendo-type effect will be imparted.
  3072.  
  3073. If the Final Level is the same as the Initial Level, then the ramp will
  3074. be flat.  The effect will be one of an overall increase or decrease in
  3075. dynamics.
  3076.  
  3077. If both the Initial Level and the Final Level are set at l00 percent,
  3078. then no ramp is set up and no changes will be made to velocities by these
  3079. parameters.  (However, the Random Factor parameter may still be live.)
  3080.  
  3081. Random Factor:
  3082.  You can choose to have the velocities of Note events changed by adding a
  3083. random offset to each.  This is a simple addition and has nothing to do
  3084. with percentages.
  3085.  
  3086. The slider sets the width of the range of possible offsets.  A width of
  3087. l00 defines a range from -50 to +50 to be added to the current velocity.
  3088.  
  3089. Example:  If a velocity is l00, and the slider is at l00, then the
  3090. possible new velocities are 50 through l50.
  3091.  
  3092. Try this on a constant-velocity high-hat part to hear what happens.  Or
  3093. do it to keyboard parts entered with a non-velocity-transmitting other
  3094. keyboard to add some life (your sound module must support velocity
  3095. sensitivity for you to hear the effect).
  3096.  
  3097. Attack Velocity
  3098.  Then this switch is on (highlighted), the attack velocities of affected
  3099. Note events will be scaled.
  3100.  
  3101. Release Velocity
  3102.  When this switch is on, the release velocities of affected Note events
  3103. will be scaled.  If this switch is off and the ATTACK VELOCITY switch is
  3104. off as well, then of course nothing will happen.
  3105.  
  3106. Marked Events
  3107.  When this switch is highlighted, only Note events that are currently
  3108. Selected, or are within a Marked time region, will be affected by the
  3109. scaling operation.  When this is on, the ENTIRE SEQUENCE option (see
  3110. below) is turned off.
  3111.  
  3112. (see Bar Editor / Select)
  3113.  
  3114. (see Bar Editor / Mark)
  3115.  
  3116. Entire Sequence
  3117.  When this is highlighted, all the Note events in the sequence will be
  3118. affected by the scale operation (including any events after the end
  3119. line).  When this is on, the MARKED EVENTS option is turned off.
  3120.  
  3121. Scale
  3122.  Clicking the SCALE button tells the software to go ahead and do the
  3123. scaling operation using the parameters that have been set in this window.
  3124.  
  3125. Interesting effects can be accomplished by changing the ramp and running
  3126. the scaler again over the same section of a sequence.  Complex dynamic
  3127. shapes can also be created by giving different sections individual
  3128. crescendos and decrescendos.
  3129.  
  3130. *Note:  The possible complexity of combined scale operations means
  3131. scaling cannot be done by simple offset during playback; therefore, the
  3132. original data must be altered.  Make sure you like the result before
  3133. leaving the editor and saving your changes.
  3134.  
  3135. Cancel
  3136.  Clicking CANCEL will Scale nothing, close the Velocity Scaling window,
  3137. and return to the editor.
  3138.  
  3139. AFTER TOUCH SCALING MODULE
  3140.  This Module can be called and used from either editor by shoosing SCALE
  3141. AFTERTOUCH from the MODULES menu.
  3142.  
  3143. The Aftertough Scaling module is used to alter the pressure values of
  3144. Aftertouch events in a sequence.  It can operate on all the events in a
  3145. sequence or on any set of two or more Aftertouch events within the
  3146. sequence.
  3147.  
  3148. What is Aftertouch?
  3149.  Aftertouch messages relate to how hard a key is pressed on the mother
  3150. keyboard after initially reaching the bottom of travel.  Aftertouch
  3151. provides an extra means of expression after the note has been initially
  3152. struck.  Some wind controllers send Aftertouch messages when breath
  3153. pressure is increased during a note.  Various synths and sound modules
  3154. use Aftertouch to affect the timbre, volume, or pitch of the sound.
  3155. Generally, the harder you press, the "brighter" the sound gets, and
  3156. possibly the louder.  Not all keyboards send or respond to Aftertouch
  3157. events.  To hear the effects of the Aftertouch Scaling module, your sound
  3158. source must support Aftertouch.
  3159.  
  3160. There are two kinds of Aftertouch events, one that affects an entire MIDI
  3161. channel, and one that affects individual notes.  The first is called
  3162. "Channel Aftertouch", and the second, "Polyphonic Aftertouch".  Mother
  3163. keyboards that send Channel Aftertouch messages send messages containing
  3164. a value that represents the overall pressure being exerted across their
  3165. keyboard.  Mother keyboard that support Polyphonic Aftertouch cn sense
  3166. pressures being applied to individual keys.  Owners of mother keyboards
  3167. that support Channel Aftertouch will find that varying pressures applied
  3168. to a single note in the right hand will also affect the notes of a chord
  3169. being held with the left hand.  Owners of mother keyboards that support
  3170. Polyphonic Aftertouch will find that each note in a chord can be affected
  3171. separately.
  3172.  
  3173. Choosing SCALE AFTERTOUCH... from the Modules menu opens the AFTERTOUCH
  3174. SCALING window.  This window is used to set the parameters that shape the
  3175. way the module will alter the pressure values of Aftertouch events over
  3176. time.  The parameters in the AFTERTOUCH SCALING window are similar to the
  3177. parameters in the VELOCITY SCALING window.  Following are descriptions of
  3178. those parameters.
  3179.  
  3180. AFTERTOUCH  SCALING
  3181.  
  3182.                 Initial Level:       l00
  3183.  
  3184.                 Final Level:         l00
  3185.  
  3186.                 Random  Level:       000
  3187.  
  3188.                 ((((() Channel Aftertouch
  3189.  
  3190.                 (    ) Polyphonic Aftertouch
  3191.  
  3192.                 ((((() Marked Events
  3193.  
  3194.                 (    ) Entire Sequence
  3195.  
  3196. Illustration        7.8
  3197.  
  3198.  
  3199. INITIAL LEVEL
  3200. The Initial Level slider sets the desired percentage of current pressure
  3201. for the first (initial) Aftertouch event in a range.
  3202.  
  3203. This parameter together with the FINAL LEVEL parameter creates a ramp of
  3204. percentages over time from the initial event to the final event.
  3205.  
  3206. The slider ranges from 000 percent of current pressure to 300 percent of
  3207. current pressure.  As each Aftertouch event is processed, its pressure
  3208. will be changed by the percentage dictated by the level of the ramp at
  3209. that point in time.
  3210.  
  3211. Final Level:
  3212.  The Final Level slider sets the desired percentage of current Aftertouch
  3213. for the last (final) Aftertouch event in a range.
  3214.  
  3215. If the Final level is set higher than the Initial level, then  a
  3216. crescendo-type effect will be imparted.
  3217.  
  3218. If the Final level is set lower than the Initial level, then a
  3219. decrescendo-type effect will be imparted.
  3220.  
  3221. If the Final Level is the same as the Initial Level, then the ramp will
  3222. be Flat.  The effect will be one of overall increase or decrease in
  3223. dynamics.
  3224.  
  3225. If both the Initial Level and the Final Level are set at l00 percent,
  3226. then no changes will be made to pressures by the ramp parameters.
  3227. (However, the Random Factor parameter may still be live.)
  3228.  
  3229. Random Factor:
  3230.  This slider sets the width of a random offset to be added to the
  3231. pressure values of Aftertouch events.  The slider ranges from 0 to l00
  3232.  
  3233. A width of l00 defines a range from -50 to +50 to be added to the current
  3234. Aftertouch.
  3235.  
  3236. Example:  If the pressure of an Aftertouch event is at l00, and the
  3237. slider is at l00, then the possible new velocities are 50 through l50.
  3238.  
  3239. Channel Aftertouch
  3240.  When this switch is on (highlighted in purple), Channel Aftertouch
  3241. events will be affected by the scaling operation.
  3242.  
  3243. Polyphonic Aftertouch
  3244.  When this switch is on (highlighted in purple), Polyphonic Aftertouch
  3245. events will be affected by the scaling operation.
  3246.  
  3247. *Note:  The CHANNEL AFTERTOUCH and POLYPHONIC AFTERTOUCH switches are
  3248. independent and may be turned on or off separately.  If both are on, then
  3249. both types of events will be affected by the scaling operation.  If both
  3250. are off then the Aftertouch Scaling module can have no effect.
  3251.  
  3252. Scale
  3253.  Clicking the SCALE button closes the window and initiates the scaling
  3254. operation using the parameters you have set up.
  3255.  
  3256. CANCEL
  3257.  Clicking CANCEL will close window without scaling anything, and return
  3258. you to the editor.
  3259.  
  3260. Graphic Score Window
  3261.  The graphic score window is the most prominent feature of the Bar
  3262. Editor, found just below the title bar and occupying most of the screen.
  3263. This is the work area, where the sequence is displayed and edited.
  3264.  
  3265. The graphic score window is basically a two dimentional time/pitch graph.
  3266. Time moves horizontally, left to right; pitch is vertical, with low notes
  3267. at the bottom and high notes at the top.  The graphic score window
  3268. scrolls to reveal the changing portions of the sequence being played.
  3269. New events enter from the right and are seen and then heard as the
  3270. sequence plays.
  3271.  
  3272. *Note:  Auto-scrolling can be turned off and on by clicking SCROLL along
  3273. the right edge of the Bar Editor Page.
  3274.  
  3275. (see Bar Editor / Scroll)
  3276.  
  3277. Following are descriptions of the features of the graphic score window.
  3278.  
  3279. Keyboard
  3280.  Along the left edge of the window is a miniture graphic of a piano
  3281. keyboard.  This is used to show the correspondence between note events in
  3282. the score window and normal keyboard notes.
  3283.  
  3284. Measure Lines
  3285.  Vertical blue lines are used as a background in the score window to show
  3286. how musical time is mapped in the sequence.  A dark line marks the
  3287. beginning of each measure, and lighter lines mark the beats within that
  3288. measure.  The number of beats within a measure will depend on the current
  3289. time signature.  As Time Signature Change events are played, the measure
  3290. and beat lines are redrawn to match the new time signature.
  3291.  
  3292. (see Bar Editor / Event Types / Time Signature Change)
  3293.  
  3294. When editing Absolute sequences, the measure lines are used to show clock
  3295. time instead of musical time.  Light blue lines are spaced at one second
  3296. intervals.
  3297.  
  3298. Measure Numbers
  3299.  Measure and beat numbers are written in white along the bottom of the
  3300. graphic display window.  They correspond to the measure and beat lines
  3301. described above.  Measure numbers always have four digits with no decimal
  3302. point.  Beat numbers always start with a decimal point and are two digits
  3303. long.
  3304.  
  3305. When editing Absolute sequences, the measure numbers are replaced by a
  3306. single clock number written in the same format as the real time clock in
  3307. the Page.  This number indicates the starting time for the current
  3308. portion of the sequence, starting at the left edge of the score window.
  3309.  
  3310. Pitch Lines
  3311.  Horizontal pitch lines are drawn on the background of the score window
  3312. to show the possible positions for note events.  The higher the position,
  3313. the higher the MIDI key number of that note, and the higher the pitch.
  3314.  
  3315. The pitch lines extend from the left edge of the score window and can be
  3316. matched against the mini keyboard.  The lines correspond to the cracks
  3317. between the white keys of the keyboard.  The spaces between the lines
  3318. correspond to the white keys.
  3319.  
  3320. The line below middle C is drawn in a darker blue for reference.
  3321.  
  3322. Time Line
  3323.  When you click PLAY or RECORD in the Bar Editor, you will see a moving
  3324. vertical dotted green line cross the screen.  This is the Time line.
  3325.  
  3326. The Time line shows where musical time is, in relation to the events in
  3327. the graphic display.  You will hear the events as this line passes over
  3328. them.  The line starts from the left edge of the screen and moves to the
  3329. right.  When the line reaches the centre, the score starts moving under
  3330. it (assuming SCROLL has not been turned off).  When you click PAUSE or
  3331. STOP, the time line will stay in its last position, making it useful for
  3332. locating mistakes by ear and eye.
  3333.  
  3334. (See Bar Editor / Scroll)
  3335.  
  3336. Octave Scroll Bar
  3337.  Use this scroll bar, found at the bottom edge of the graphic score
  3338. window, to relocate the window to different parts of the sequence.  The
  3339. scroll bar may be used at any time, except when SCROLL is on and the
  3340. sequence is playing.  In that case the window scrolls automatically.
  3341.  
  3342. (See Bar Editor / Scroll)
  3343.  
  3344. Octave Scroll Bar
  3345.  MIDI supports l28 possible key numbers.  That's over ten octaves.  Five
  3346. octaves (60 keys) can be shown in the graphic score window at one time.
  3347. Use the scroll bar on the right side of the graphic score window to
  3348. scroll the window vertically, bringing the outlying octaves into screen
  3349. view.
  3350.  
  3351. Time Scroll Bar
  3352.  Use this scroll bar, found at the bottom edge of the graphic score
  3353. window, to relocate the window to different parts of the sequence.  The
  3354. scroll bar may be used at any time, except when SCROLL is on and the
  3355. sequence is playing.  In that case the window scrolls automatically.
  3356.  
  3357. (See Bar Editor / Scroll)
  3358.  
  3359. End Line
  3360.  Every sequence has an End line.  The End line appears as a stationary
  3361. vertical dotted yellow line and marks the last measure at the end of a
  3362. sequence.  The End line is actually an event and can be dragged like any
  3363. other event.  The length of a sequence is changed by moving the end line.
  3364.  
  3365. When the Time line reached the End line during playback, the sequence
  3366. stops or repeats.  Events crossing the end line are allowed to play for
  3367. their full duration, rather than being artificially clipped, even while
  3368. the sequence repeats.  Any events starting after the End line are
  3369. ignored.
  3370.  
  3371. Relative sequences always end on a measure boundary.  If the End line
  3372. event is placed in the middle of a measure, then the sequence will finish
  3373. playing that measure before stopping or repeating.
  3374.  
  3375. Absolute sequences may end at any point.
  3376.  
  3377. Current Event
  3378.  In the Bar Editor, the current event is chosen by clicking on it in the
  3379. score window.  The event will change in appearance to show that it's
  3380. selected, and the Virtual Sliders and Channel Square will configure
  3381. themselves to the event's parameters.
  3382.  
  3383. (See Bar Editor / Virtual Sliders)
  3384.  
  3385. (See Bar Editor / Channel Square)
  3386.  
  3387. Dragging Events
  3388.  One of the main ways to edit events in the Bar Editor is by dragging
  3389. them.  Most events can be dragged horizontally and vertically with the
  3390. mouse.  Dragging an event horizontally will change its location in time.
  3391. Dragging it vertically will change some parameter based on the type of
  3392. event.  (For instance:  Notes would be transposed in half steps, while
  3393. Aftertouch events would be increased or decreased by one pressure unit.)
  3394.  
  3395. When you drag a Note event, you will hear the note play at each new
  3396. position (unless QUIET is on).  This is called "feedback", and is
  3397. provided to help the ear when editing a sequence.
  3398.  
  3399. (See Bar Editor / Options Menu / Feedback)
  3400.  
  3401. Dragging the current event beyond the left or right edge of the graphic
  3402. score window causes the window to scroll through time in the direction of
  3403. the event.  Dragging the current event beyond the upper or lower edge of
  3404. the graphic score window causes the window to scroll by octaves in the
  3405. direction of the event.
  3406.  
  3407. For events with durations (Notes, Play Sequence, etc.), holding the SHIFT
  3408. key while dragging the event's tail will change the event's duration.
  3409.  
  3410. Cursor Keys
  3411.  The cursor keys can be used in the Bar Editor as an alternative to
  3412. dragging the current event.  This can sometimes give you more control
  3413. when making small precise movements.  Once the current event has been
  3414. chosen, the CursorLeft and CursorRight keys will move the event
  3415. horizontally through time.  The CursorUp and CursorDown keys will move
  3416. the current event vertically in whatever increments are applicable to
  3417. that event type.
  3418.  
  3419. For events with durations, the key combinations: (SHIFT-CursorLeft), and
  3420. (SHIFT-CursorRight) will alter the current event's duration as if its
  3421. tail was being dragged.
  3422.  
  3423. For Note events, the key combinations: (SHIFT-CursorUp) and (SHIFT-
  3424. CursorDown) will transpose the events by octaves.
  3425.  
  3426. *Note:  When SNAP is on, events will be moved through time, and durations
  3427. may be changed in increments of the current Grid Size.  When SNAP is off,
  3428. events can be moved through time and durations can be adjusted by
  3429. increments of one clock.  Depending on the current ZOOM setting, this may
  3430. be too slight a movement to see.  Watch the T= and D= indicators below
  3431. the score window to see exactly what you are doing.
  3432.  
  3433. (See Bar Editor / Snap)
  3434.  
  3435. (See Bar Editor / Grid)
  3436.  
  3437. (See Bar Editor / Zoom+ and Zoom-)
  3438.  
  3439. (See Bar Editor / T=)
  3440.  
  3441. (See Bar Editor / D=)
  3442.  
  3443. EVENT TYPES
  3444.  The event types are like an alphabet from which a sequence is built.
  3445. Becoming familiar with all the event types, their effect, and how to
  3446. manipulate them is essential to an effective editing style.  This
  3447. subchapter will lay out the event  types in an orderly fashion so that
  3448. there is no doubt as to what they do.  As you read this, please have the
  3449. software running, and feel free to experiment with each event type as it
  3450. is explained, by Adding it to the score, and then dragging the sliders
  3451. etc.
  3452.  
  3453. (See Bar Editor / Add)
  3454.  
  3455. There are three classes of events in Music-X.
  3456.  
  3457. First, Channel Events that send standard MIDI messages as described in
  3458. the MIDI specification.  These are:
  3459.  
  3460. Name                            mnemonic
  3461.  
  3462. Note                            (NOTE)
  3463. Channel Aftertouch              (CAT)
  3464. Polyphonic Aftertouch           (PAT)
  3465. Control Change                  (CTL)
  3466. Programme Change                (PGM)
  3467. Pitch Bend                      (PBEN)
  3468.  
  3469. Second, System Exclusive Events that send MIDI messages understood only
  3470. by the particular instruments they were intended for.  System Exclusive
  3471. message formats are designed and specified by the instrument
  3472. manufacturers.  All System Exclusive messages fall under the event type:
  3473.  
  3474. System Exclusive                (SYSX)
  3475.  
  3476. Third, Music-X Events that control the sequencer is some way.  These are:
  3477.  
  3478. End                             (END)
  3479. Splice                          (SPLI)
  3480. Set Repeats                     (REPT)
  3481. Stop                            (STOP)
  3482. Tempo Change                    (TEMPO)
  3483. Time Signature Change           (TSIG)
  3484. Change Keymap                   (KMAP)
  3485. Play Sequence                   (PSEQ)
  3486. Mute Sequence                   (MSEQ)
  3487. Solo Sequence                   (SSEQ)
  3488. Mute Track                      (MTRK)
  3489. Solo Track                      (STRK)
  3490.  
  3491. The following is a series of paragraphs explaining what each event does,
  3492. how it looks in the graphic score window, what parameters it has, and how
  3493. to edit it in the Bar Editor.
  3494.  
  3495. Note
  3496. (mnemonic = NOTE)
  3497.  
  3498. Note events are Channel events that send MIDI Note On and Note Off
  3499. messages to MIDI synthesizers.  Note events can also be redirected
  3500. internally to play Amiga samples.
  3501.  
  3502. Note events appear in the Bar Editor as coloured horizontal bars.  When
  3503. selected or grabbed, they appear hollow.
  3504.  
  3505. Note events have six parameters:  Start Time, MIDI channel, MIDI key
  3506. number (pitch), Attack Velocity, Release Velocity, and Duration.  All of
  3507. these parameters may be edited in the Bar Editor.
  3508.  
  3509. The virtual sliders take on these parameters:  MIDI key number, Attack
  3510. Velocity and Release Velocity.  They are titled NT: (for "note"), ATV:,
  3511. and RVL: respectively.
  3512.  
  3513. StartTime:  To change the starting time of a single note, drag it to the
  3514. left or right.  The T= field will take on the start time of the current
  3515. event and change as the event is dragged.  You can also move the current
  3516. Note event or a group of selected Note events through time with the
  3517. CursorLeft and CursorRight keys.  The SNAP tool, when on, limits the
  3518. movements of Note events to increments of the current Grid Size.  The
  3519. start times of groups of Note events may also be changed with the
  3520. Quantizer module.
  3521.  
  3522. (See Bar Editor / Snap)
  3523.  
  3524. (See Bar Editor / Quantizer Module)
  3525.  
  3526. MIDIChannel:  The Channel number of the current Note event is indicated
  3527. by the Channel Square and by the colour of the event.  To change the
  3528. channel of the current Note event or of a group of selected Note events,
  3529. click on the numbers in the Channel Square.  The colour of a Note event
  3530. changes as its MIDI channel number changes.
  3531.  
  3532. (See Bar Editor / Channel Square)
  3533.  
  3534. *Note:  All the screens in Music-X use eight colours.  Two of those
  3535. colours (light blue and dark blue) are used for the background in the
  3536. graphic score window.  That means there are six colours left over to
  3537. represent l6 MIDI channels.  Higher channels use the same colours as
  3538. lower channels.  When editing a sequence containing events on different
  3539. channels using the same colour, remember the Channel Square always shows
  3540. the channel number of the current event and that any channel(s) can be
  3541. temporarily locked out of the display using the LOCK tool.
  3542.  
  3543. (See Bar Editor / Lock)
  3544.  
  3545. MIDIKeyNumber:  The MIDI key number of a Note event is represented by its
  3546. relative height in the score window.  The higher the bar on the screen,
  3547. the higher the MIDI key number and, most likely, the musical pitch
  3548. (unless your synth is returned backwards).  Possible key numbers range
  3549. from 000 to l27 (middle C is key number 60).  The exact key number is
  3550. indicated by the virtual slider titled NT:  To change the key number of a
  3551. Note event, drag it higher or lower in the score, or move the virtual
  3552. slider.  You may also change the key numbers of the current Note or a
  3553. group of selected Notes with the CursorUp and CursorDown keys.  Holding
  3554. SHIFT while using the CursorUp and CursorDown keys will transpose the
  3555. current event, or group of selected events, by octaves.  You may also
  3556. move the current Note event to a particular key number by playing that
  3557. key on the mother keyboard.  This last method can be used while in play.
  3558.  
  3559. Attach Velocity and Release Velocity:.  Both of these parameters are
  3560. displayed in the same way and only one may be shown at a time.  They are
  3561. switched using the DISPLAY menu.  Velocities are displayed on the screen
  3562. as dark blue rectangles extending upwards from the bottom of the score.
  3563. The higher the rectangle, the faster the attack velocity.  Each velocity
  3564. is displayed directly below or behind its related Note event.  Two of the
  3565. virtual sliders configure to attack and release velocities and are titled
  3566. AVL:, and RVL:.  The attach and release velocities of the current Note
  3567. event may be changed by moving these sliders.  The velocities of a group
  3568. of Notes may be changed with the VELOCITY SCALING module.  Attack
  3569. Velocities can range from 000 to l27.  True Release Velocities can range
  3570. from 000 to l27.  The slider also allows a release velocity of l28 to
  3571. mark a special case (see note below).
  3572.  
  3573. (See Bar Editor / Display Menu / Attack Velocity)
  3574.  
  3575. (See Bar Editor / Display Menu / Release Velocity)
  3576.  
  3577. (See Bar Editor / Velocity Scaling Module)
  3578.  
  3579. DURATION:  A single Music-X Note event actually sends two MIDI messages:
  3580. a Note On message and a Note Off message.  The duration of the Note event
  3581. is the length of time between the sending of these two messages.  The
  3582. duration of Note events is represented by their size; the longer the bar,
  3583. the longer the note.  The duration of the current Note event (when
  3584. grabbed) is shown in the D= field underneath the score window.  Change
  3585. duration by holding the SHIFT key while dragging the note tail.  The
  3586. durations of the current Note event or of a group of selected Note events
  3587. may be changed by holding the SHIFT key and using the Cursor-Left and
  3588. Cursor-Right keys.  The SNAP tool limits the changing of durations of
  3589. Note events in increments of the current Duration, as set in the Grid
  3590. requester.  The Durations of Note events may also be changed with the
  3591. Quantizer Module.
  3592.  
  3593. *Note:  Many synthesizers send Note Off messages as Note On messages with
  3594. attack velocities of zero.  This is a standard technique that makes the
  3595. MIDI data stream more efficient by eliminating the need to change the
  3596. "running status".  Music-X records Note Offs in whichever form it
  3597. receives them.  A Music-X Note event will show a Release Velocity of l28
  3598. if the Note Off was received as a Note On with zero velocity.  This value
  3599. of l28 would be illegal in MIDI, and is only used as a "flag" by Music-X
  3600. so it knows to send the Note Off as a Note On during playback.  Any other
  3601. release velocity would cause the Note Off to be sent normally.  This
  3602. parameter is fully editable the same as any other; a Note Off recorded in
  3603. one form may be changed and played back in the other form.
  3604.  
  3605. Channel Aftertouch
  3606. (mnemonic = CAT)
  3607.  
  3608. Channel Aftertouch events send Channel Aftertouch messages to MINI
  3609. instruments.
  3610.  
  3611. Channel Aftertouch events appear as coloured dots connected by vertical
  3612. lines to the bottom of the score window.  When grabbed or selected, the
  3613. dots appear hollow.
  3614.  
  3615. Channel Aftertouch events have three parameters:  Start Time, MIDI
  3616. Channel, and Pressure.
  3617.  
  3618. One virtual slider takes on the Pressure parameter and is titled PRS:
  3619. The other sliders are ignored.
  3620.  
  3621. START TIME:  To change the start time of a Channel Aftertouch event, grab
  3622. its head (the dot) and drag it horizontally.  After a Channel Aftertouch
  3623. event has been grabbed, its start time will be indicated in the T= field
  3624. below the score window.  The start time of the current Channel Aftertouch
  3625. event or of a group of selected Channel Aftertouch events may also be
  3626. changed with the CursorLeft and CursorRight keys.  (The movements of
  3627. Channel Aftertouch events are not affected by SNAP.)
  3628.  
  3629. MINI CHANNEL:  The channel number of the current Channel Aftertouch event
  3630. is indicated by the Channel Square and by the colour of the event.  To
  3631. change the MIDI channel number of the current Channel Aftertouch event or
  3632. of a group of selected Channel Aftertouch events, click on any number in
  3633. the Channel Square.  The colour of a Channel Aftertouch event will change
  3634. as its MIDI channel number changes.
  3635.  
  3636. PRESSURE:  This parameter relates to how hard the key is being pressed
  3637. after reaching the bottom of travel.  It can range from 000 to l27.  This
  3638. value is indicated by the relative height of the Channel Aftertouch event
  3639. in the score window and by the virtual slider.  To change the Pressure
  3640. value of a Channel Aftertouch event, drag the event vertically, or move
  3641. the virtual slider titled PRS:, or press the CursorUp and CursorDown
  3642. keys.  The pressure parameter of Channel Aftertouch events may also be
  3643. manipulated using the Aftertouch Scaling Module.
  3644.  
  3645. (See Bar Editor / Aftertouch Scaling Module)
  3646.  
  3647. POLYPHONIC AFTERTOUCH
  3648. (mnemonic = PAT)
  3649.  
  3650. Polyphonic Aftertouch events send Polyphonic Aftertouch messages to MIDI
  3651. instruments.
  3652.  
  3653. Polyphonic Aftertouch events are like Channel Aftertouch events except
  3654. that different keys may have different pressure values.  Therefore, they
  3655. have an extra parameter for MIDI key number.
  3656.  
  3657. Polyphonic Aftertouch events look the same as Channel Aftertouch events;
  3658. coloured dots connected by vertical lines to the bottom of the score
  3659. window that become hollow when grabbed or selected.  Only one form of
  3660. Aftertouch event (Channel or Polyphonic) may be shown in the graphic
  3661. score window at a time.  The DISPLAY menu is used to control which event
  3662. type is to be shown.
  3663.  
  3664. Polyphonic Aftertouch events have four parameters:  Start Time, MIDI
  3665. Channel, MIDI key number, and Pressure.
  3666.  
  3667. Two virtual sliders take on the parameters of MIDI key number, and
  3668. Pressure.  They are titled NT:, and PRS:, respectively.  The last slider
  3669. is ignored.
  3670.  
  3671. START TIME:  The start time of the current Polyphonic Aftertouch event is
  3672. indicated in the T= field.  To change the start time of a polyphonic
  3673. Aftertouch event, grab its head and drag it horizontally.  The start time
  3674. of the current Polyphonic Aftertouch event or of a group of selected
  3675. Polyphonic Aftertouch events may also be changed with the CursorLeft and
  3676. CursorRight keys.  (The movements of Polyphonic Aftertouch events are not
  3677. affected by SNAP.)
  3678.  
  3679. MIDI CHANNEL:  As with all channel events, the channel number of the
  3680. current Polyphonic Aftertouch event is indicated both by the Channel
  3681. Square, and by the colour of the event.  To change the MIDI channel
  3682. number of the current Polyphonic Aftertouch event or of a group of
  3683. selected Polyphonic Aftertouch events, click on the numbers in the
  3684. Channel Square.  The colour of a Polyphonic Aftertouch event will change
  3685. as its MIDI channel number changes.
  3686.  
  3687. MIDI KEY NUMBER:  The MIDI key number of the current Polyphonic
  3688. Aftertouch event is indicated by the virtual slider titled NT:.  To
  3689. change the MIDI key number, move the slider.  Possible key numbers range
  3690. from 000 to l27.
  3691.  
  3692. PRESSURE:  The pressure value is indicated by the relative height of the
  3693. Polyphonic Aftertouch event in the score window, and by the virtual
  3694. slider.  Possible pressure values range from 000 to l27.  To change the
  3695. pressure value of a Polyphonic Aftertouch event, drag the event
  3696. vertically or move the virtual slider titled PRS:.  You may also change
  3697. the pressure value with the CursorUp and CursorDown keys.  The pressure
  3698. values of a group of Polyphonic Aftertouch events may be manipulated with
  3699. the Aftertouch Scaling Module.
  3700.  
  3701. (See Bar Editor / Aftertouch Scaling Module).
  3702.  
  3703. CONTROL CHANGE
  3704. (mnemonic = CTL)
  3705.  
  3706. Control Change events send Control Change messages to MIDI instruments.
  3707. A Control Change message causes the sound of an instrument to change as
  3708. if one of the controllers were moved on the instrument itself.
  3709. Controllers are things like the modulation wheel, breath controller,
  3710. sustain pedal, etc.  Each controller is identified by a number.  This
  3711. family of controllers does not include the front panel switches used to
  3712. modify synthesizer parameters making up a programme (VCF cutoff, envelope
  3713. levels, etc.).  Synthesizer parameters can be controlled via System
  3714. Exclusive messages.
  3715.  
  3716. Control Change events appear as coloured dots connected by vertical lines
  3717. to the bottom of the score window, and become hollow when grabbed or
  3718. selected.  Control Change events are displayed using the same graphic
  3719. icons as Channel Aftertouch and Polyphonic Aftertouch events.  To avoid
  3720. confusion, only one of these three event types may be displayed and
  3721. edited at a time.  The Display menu is used to control which type is
  3722. shown.
  3723.  
  3724. (See Bar Editor / Display menu)
  3725.  
  3726. Control Change events have four parameters:  Start Time, MIDI Channel,
  3727. Controller Number and Value.
  3728.  
  3729. Two virtual sliders take on the parameters of Controller Number, and
  3730. Value.  They are titled CTL:, and VAL: respectively.  The last slider is
  3731. ignored.
  3732.  
  3733. START TIME:  The start time of a Control Change event can be changed by
  3734. dragging the event horizontally.  The CursorLeft and CursorRight keys
  3735. will move the current event through time as well.  The start time of the
  3736. current Control Change event is indicated in the T= field below the score
  3737. window, and changes as the event is dragged.  (The movements of Control
  3738. Change events are not affected by SNAP.)
  3739.  
  3740. CONTROLLER NUMBER:  Each controller is identified by a number.  This
  3741. number specifies the particular controller you wish to change with this
  3742. message.  The controller number for the current Control Change event is
  3743. indicated by the virtual slider titled CTL:.  To change this parameter,
  3744. move the slider.  The range of the slider is from 000 to l27.
  3745.  
  3746. VALUE:  The Value parameter represents different things depending on the
  3747. controller number, but iin white lettering.  Second, the virtual slider
  3748. titled SEQ: shows the sequence number for the current event.  Third, the
  3749. event's vertical position in the score window gives some indication as to
  3750. which sequence will be played.  There are not enough vertical screen
  3751. positions to represent all 250 possible sequences.  Therefore, Solo
  3752. Sequence events have been limited to the first l6 vertical positions.  To
  3753. change the sequence number of the current event, move the virtual slider
  3754. or press the CursorUp key or the CursorDown key.
  3755.  
  3756. DURATION:  The duration of the Solo Sequence event determines the length
  3757. of time that the sequence will stay soloed.  As with Note events, the
  3758. Duration of a Solo Sequence event is indicated by the length of its tail.
  3759. The duration of the current Solo Sequence event (when grabbed) is also
  3760. indicated by the D= field underneath the score window.  To change the
  3761. duration of a Solo Sequence event, hold the SHIFT key while dragging its
  3762. tail.  You may also change the durations of the current Solo Sequence
  3763. event or of a group of selected Solo Sequence events by holding the SHIFT
  3764. key and using the CursorLeft and CursorRight keys.  The SNAP tool limits
  3765. the changing of durations of Solo Sequence events to increments of the
  3766. current Duration, as set in the Grid Requester.  The Quantizer module may
  3767. also be used to alter the durations of Solo Sequence events.
  3768.  
  3769. MUTE TRACK
  3770. (mnemonic = MTRK)
  3771.  
  3772. As explained in the Sequencer Page chapter, a track is something that
  3773. plays a sequence.  Music-X has 20 tracks.  As a sequence is initiated
  3774. during play or record mode, that sequence is assigned to the next
  3775. available track and is played by that track.  A Mute Track event causes
  3776. Music-X to temporarily mute a particular track, and consequently the
  3777. sequence being played by that track, during play or record modes.
  3778.  
  3779. Like Mute Sequence events, Mute Track events appear as yellow horizontal
  3780. bars (yellow represents "mute"). When grabbed, or selected, Mute Track
  3781. events appear black with yellow borders.
  3782.  
  3783. Mute Track events have three parameters:  Start Time, Track, and
  3784. Duration.
  3785.  
  3786. One of the virtual sliders takes on the Track parameter, and is titled
  3787. TRK:.  The other sliders are ignored.
  3788.  
  3789. START TIME:  To change the start time of a Mute Track event, drag it
  3790. horizontally, or, for the current Mute Track event or group of selected
  3791. Mute Track events, press the CursorLeft and CursorRight keys.  The start
  3792. time of the current Mute Track event (when grabbed) will also be
  3793. indicated by the T= field below the score window.  The SNAP tool, when
  3794. on, limits the movements of Mute Track events to increments of the
  3795. current Grid Size.  The Quantizer Module can also be used to alter the
  3796. start times of Mute Track events.
  3797.  
  3798. TRACK:  This parameter determines which of the 20 tracks in Music-X will
  3799. be muted by the current Mute Track event.  This parameter is indicated in
  3800. a few ways.  Firs, the track number is written on the event itself, in
  3801. red lettering.  The text "TRACK = #" is followed by the track number.
  3802. For example, "TRACK = #6".  Second, the virtual slider titled TRK: shows
  3803. the track number for the current event.  Third, by the event's vertical
  3804. position in the score window.  Mute Track events have 20 vertical
  3805. positions, one for each track.  To change the sequence number of the
  3806. current event, drag the event vertically, move the virtual slider, or
  3807. press the CursorUp and CursorDown keys.
  3808.  
  3809. DURATION:  The duration of the Mute Track event determines the length of
  3810. time that the track will stay muted.  As with Note events, the Duration
  3811. of a Mute Track event is indicated by the length of its tail.  The
  3812. duration of the current Mute Track event (When grabbed) is also indicated
  3813. by the D= field underneath the score window.  To change the duration of a
  3814. Mute Track event, hold the SHIFT key while dragging its tail.  You may
  3815. also change the durations of the current Mute Track event or of a group
  3816. of selected Mute Track events by holding the SHIFT key and using the
  3817. CursorLeft and CursorRight keys.  The SNAP tool limits the changing of
  3818. durations of Mute Track events to increments of the current Duration, as
  3819. set in the Grid requester.  The Quantizer module may also be used to
  3820. alter the durations of Mute Track events.
  3821.  
  3822. SOLO TRACK
  3823. (mnemonic = STRK)
  3824.  
  3825. A Solo Track event causes Music-X to temporarily mute all 20 tracks
  3826. except one, during play or record modes.
  3827.  
  3828. Like Solo Sequence events, Solo Track events appear as red horizontal
  3829. bars (red represents "solo").  When grabbed, or selected, Solo Track
  3830. events appear black with red borders.
  3831.  
  3832. Solo Track events have three parameters:  Start Time, Track, and
  3833. Duration.
  3834.  
  3835. One of the virtual sliders takes on the Track parameter, and is titled
  3836. TRK:.  The other sliders are ignored.
  3837.  
  3838. START TIME:  To change the start time of a Solo Track event, drag it
  3839. horizontally, or, for the current Solo Track event or group of selected
  3840. Solo Track events, press the CursorLeft and CursorRight keys.  The start
  3841. time of the current Solo Track event (when grabbed) will also be
  3842. indicated by the T= field below the score window.  The SNAP tool, when
  3843. on, limits the movements of Solo Track events to increments of the
  3844. current Grid Size.  The Quantizer Module can also be used to alter the
  3845. start times of Solo Track events.
  3846.  
  3847. TRACK:  This parameter determines which of the 20 tracks in Music-X
  3848. will be soloed by the current Solo Track event.  This parameter is
  3849. indicated in a few ways.  Firs, the track number is written on the event
  3850. itself, in white lettering.  The text "TRACK =#" is followed by the track
  3851. number.  For example "TRACK =#7".  Second, the virtual slider titled TRK:
  3852. shows the track number for the current event.  Third, the event's
  3853. vertical position in the score window indicates which track is to be
  3854. soloed.  Solo Track events have 20 vertical positions, one for each
  3855. track.  To change the sequence number of the current event, drag  the
  3856. event vertically, move the virtual slider, or press the CursorUp and
  3857. CursorDown keys.
  3858.  
  3859. DURATION:  The duration of the Solo Track event determines the length of
  3860. time that the track will stay soloed.  As with Note events, the Duration
  3861. of a Solo Track event is indicated by the length of its tail.  The
  3862. duration of the current Solo Track event (when grabbed) is also indicated
  3863. by the D= field underneath the score window.  To change the duration of a
  3864. Solo Track event, hold the SHIFT key while dragging its tail.  You may
  3865. also change the durations of the current Solo Track event or of a group
  3866. of selected Solo Track events by holding the SHIFT key and using the
  3867. CursorLeft and CursorRight keys.  The SNAP tool limits the changing of
  3868. durations of Solo Track events to increments of the current Duration, as
  3869. set in the Grid requester.  The Quantizer module may also be used to
  3870. alter the durations of Solo Track events.
  3871.  
  3872. TOOL LIST
  3873. Along the right edge of the Bar Editor Page (shown in Figure 7.l at the
  3874. beginning of this chapter) is a list of words used during editing.  Some
  3875. are mode switches, some open windows where parameters can be tweaked, and
  3876. some are direct commands to Music-X that cause things to happen
  3877. instantly.  They offer the most often used functions in the Bar Editor
  3878. and are provided next to the score window for easy access.  We will call
  3879. these words "tool words" and the list, the "tool list".
  3880.  
  3881. In general, tool words are active when highlighted in white, and inactive
  3882. when written in blue.  Tool words are activated, deactivated, or used by
  3883. clicking them.
  3884.  
  3885. The following l7 subchapters give an explanation of each tool word and
  3886. any windows or parameters associated with that word.
  3887.  
  3888. SETSIG
  3889. ("/" from the keyboard)
  3890.  
  3891. Read this tool word as "Set Signature".  SetSig is used when editing
  3892. sequences containing Time Signature Change events to resize the measure
  3893. and beat lines to the current time signature.
  3894.  
  3895. Normally, measure and beat lines are resized automatically while the
  3896. sequence plays to confirm with Time Signature Change events as they are
  3897. encountered.  When the sequence is stopped, the measure and beat lines
  3898. stay sized to the last valid time signature.  If you then manually scroll
  3899. to a portion of the sequence with a different time signature, the measure
  3900. and beat lines may appear incorrect.  Playing from that point would
  3901. resize the lines, but if you do not want to play the sequence, you can
  3902. use SetSig to resize the measure and beat lines to the new time
  3903. signature.
  3904.  
  3905. If there are multiple Time Signature Change events currently in the
  3906. window, then SetSig uses the last Time Signature Change event before the
  3907. middle of the window as the current time signature when resizing measure
  3908. and beat lines.
  3909.  
  3910. (See Bar Editor / Graphic Score Window / Measure Lines)
  3911.  
  3912. (See Bar Editor / Event Types / Time Signature Change)
  3913.  
  3914. Time Signature Display
  3915.  Under the SetSig tool is a display showing the current time signature.
  3916. This display is automatically updated as Time Signature Change events are
  3917. encountered in a sequence.  If there are no Time Signature Change events
  3918. in the sequence, then the display shows the global time signature.
  3919.  
  3920. (See Bar Editor / Event Types / Time Signature Change)
  3921.  
  3922. This display is an indicator only and cannot be edited directly.
  3923.  
  3924. *Note:  The global time signature can be changed from the Sequencer Page,
  3925. or from the Prams window in the Bar Editor, or by inserting a Time
  3926. Signature Change event into the sequence.
  3927.  
  3928. (See Sequencer Page / Time Signature Window)
  3929.  
  3930. (See Bar Editor / Params / Time Signature).
  3931.  
  3932. Add
  3933. ("A" from the keyboard)
  3934.  
  3935. Clicking on ADD puts the Bar Editor into "Add mode".  Add mode makes it
  3936. possible to put new events into the sequence using the mouse.
  3937.  
  3938. While in Add mode, the word ADD stays highlighted in white.  While you
  3939. are in Add mode, you can also grab, drag, and edit pre-existing events of
  3940. any type.
  3941.  
  3942. When you first click ADD, a requester appears whose title asks WHAT TYPE
  3943. OF EVENT?, and offers a list of the possible event types that can be
  3944. added to the score using the mouse.
  3945.  
  3946. Choose an event type by clicking on its name in the list.  The chosen
  3947. event type will appear highlighted in white.  After you choose an event
  3948. type, click on the OK button (or press the "O" key) to close the window
  3949. and return to the editor.
  3950.  
  3951. While in Add mode, you can add any number of events of the chosen type to
  3952. the sequence by clicking the mouse in an empty area of the graphic score
  3953. window.  Each time you add a new event, that event becomes the current
  3954. event, and the virtual sliders or other applicable controls may be used
  3955. to edit it before adding another event.
  3956.  
  3957. Here is how to make sure the event goes where you want it to go:  Each
  3958. time you click the left mouse button, a new event will appear attached to
  3959. the mouse pointer.  Before releasing the mouse button, drag the event
  3960. into place.  When you release the button, the event is entered into the
  3961. sequence.  If you make a mistake, just grab the event again and drag it
  3962. to the right spot.
  3963.  
  3964. If the type of event being added is one that can have a duration (Note,
  3965. Play Sequence, tempo Change  etc), then its default duration will be one
  3966. clock less than that of the current duration value, as set in the Grid
  3967. requester.  The reason for this one-clock difference is to assure that
  3968. the MIDI Note Off of a previous event is sent before the Note On of the
  3969. next event.  This assures the efficient use of voices when playing
  3970. sequences on multi-timbral sound modules.
  3971.  
  3972. WHAT TYPE OF EVENT?
  3973.  
  3974. NOTES
  3975.                       PROGRAMME CHANGE
  3976.  
  3977.                       CONTROL CHANGE
  3978.  
  3979.                       POLY AFTERTOUCH
  3980.  
  3981.                       CHAN. AFTERTOUCH
  3982.  
  3983.                       PITCH BEND
  3984.  
  3985.                       PLAY SEQUENCE
  3986.  
  3987.                       TIME SIG. CHANGE
  3988.  
  3989.                       TEMPO CHANGE
  3990.  
  3991.                       SET REPEATS
  3992.  
  3993.                       CHANGE KEYMAP
  3994.  
  3995.                       MUTE TRACK
  3996.  
  3997.                       SOLO TRACK
  3998.  
  3999.                       MUTE SEQUENCE
  4000.  
  4001.                       SOLO SEQUENCE
  4002.  
  4003.                           OK
  4004.  
  4005. Illustration 7.9: Event Type Requester.
  4006.  
  4007. *Note:  If you wish, you can override this feature, when setting the
  4008. current Duration in the Grid requester, by increasing the chosen duration
  4009. by one clock before closing the requested.  ADD will then subtract the
  4010. extra clock, leaving the  intended duration.
  4011.  
  4012. (See Bar Editor / Grid)
  4013.  
  4014. *Note:  Adding an event type to the score turns on the display of that
  4015. event type if it had been previously turned off in the display menu.
  4016.  
  4017. (See Bar Editor / Display Menu)
  4018.  
  4019. INSERT
  4020. ("I" from the keyboard)
  4021.  
  4022. Clicking on INSERT puts the Bar Editor into "Insert mode".  Insert mode
  4023. is similar to Add mode; it makes it possible to put new events into the
  4024. sequence using the mouse.  The difference is that an amount of time equal
  4025. to the current Duration, as set in the Grid requester, is inserted into
  4026. the sequence along with each new event.
  4027.  
  4028. The tool word INSERT stays highlighted in white while the editor is in
  4029. Insert mode.  While you are in Insert mode, you can also grab, drag, and
  4030. edit pre-existing events of any type.
  4031.  
  4032. When INSERT is first clicked, the WHAT TYPE OF EVENT? requester is
  4033. called.  This window has been described above under ADD.  Use this
  4034. requester to choose the type of event to be inserted.  After you choose
  4035. an event type, and exit the requester, you are in Insert mode.  Each time
  4036. you click the left mouse button in an empty portion of the graphic score
  4037. window, you will cause a new event of that type to appear attached to the
  4038. mouse pointer.  Before you release the button, you may move the mouse to
  4039. drag the event to where you want it.  The event will be inserted into the
  4040. score when the mouse button is released.
  4041.  
  4042. When you are in Insert mode, any events entered with the mouse will push
  4043. all following events back in time (later) to make room for the new event.
  4044. The amount of time inserted is equal to the current Duration, as set in
  4045. the Grid requester.  No time is inserted for events with no duration (as
  4046. with Pitch Bend).
  4047.  
  4048. As with Add mode, the durations of new inserted events are actually one
  4049. clock less than the current Duration setting, for voice efficiency when
  4050. using MIDI sound modules.
  4051.  
  4052. (See Bar Editor / Grid)
  4053.  
  4054. MOVE
  4055. ("C" from the keyboard)
  4056.  
  4057. Clicking on MOVE puts the Bar Editor into "Move mode".  Move mode is used
  4058. to drag, or edit pre-existing events in the score.  Normally, if you are
  4059. in ADD or INSERT mode, you can drag events too.  However, MOVE is used
  4060. when you want to avoid the possibility of accidentally entering a new
  4061. event by clicking on a blank area of the score.
  4062.  
  4063. While in Move mode the word MOVE stays highlighted in white.
  4064.  
  4065. To drag an event, click on it an hold the left mouse button.  The event
  4066. will become the current event and appear hollow or reversed.  As long as
  4067. you hold the mouse button, the event will be attached to the mouse
  4068. pointer.  Moving the mouse pointer moves the event as well.  Once an
  4069. event becomes the current event, the virtual sliders and other controls
  4070. can be used to edit its parameters.
  4071.  
  4072. REMOVE
  4073. ("V" from the keyboard)
  4074.  
  4075. Clicking on REMOVE puts the Bar Editor into "remove mode".  Remove mode
  4076. is used to remove or erase pre-existing events from the sequence one by
  4077. one.
  4078.  
  4079. The tool word REMOVE stays highlighted in white as long as remove mode is
  4080. on.
  4081.  
  4082. While in Remove mode, clicking on any event in the graphic score window
  4083. will remove it from the score.
  4084.  
  4085. If you remove an event accidentally, you can restore it by pressing the
  4086. HELP key on the Amiga keyboard.  Repeatedly pressing the HELP key will
  4087. restore up to l6 events previously removed from the sequence.
  4088.  
  4089. *Note:  Changing between editors resets the HELP key.  You must restore
  4090. accidentally removed events before switching editors.
  4091.  
  4092. LOCK
  4093. (SHIFT-"L" from the keyboard)
  4094.  
  4095. Clicking on LOCK puts the Bar Editor into "Lock mode".  Lock mode is used
  4096. in conjunction with the Channel Square to hide some of the events in a
  4097. sequence so you can more easily edit the events you are interested in.
  4098. This is handy when working with composite sequences, containing data on
  4099. many MIDI channels.
  4100.  
  4101. The tool word LOCK stays highlighted in white while the editor is in Lock
  4102. mode.  While you are in Lock mode, you can also grab, drag, and edit pre-
  4103. existing events of any type.
  4104.  
  4105. While LOCK is on (highlighted), one can click on various channels in the
  4106. channel square (any except the current channel) to lock them out of the
  4107. bar graphic display.  When a channel is locked, its number is shown in
  4108. red in the Channel Square.  Any events on a locked-out channel are heard
  4109. but not seen.  Clicking again on a locked channel unlocks it and lets any
  4110. events on that channel be displayed again.
  4111.  
  4112. (See Bar Editor / Channel Square)
  4113.  
  4114. Example:  Locking out all but one channel.
  4115.  
  4116. Pick LOCK to enter Lock mode.  LOCK will appear highlighted.
  4117.  
  4118. Pick on an event in the score whose channel you wish to see along.  The
  4119. Channel Square will show that channel in white.
  4120.  
  4121. Pick on all the other channels in the Channel Square to lock them out.
  4122. (They will turn red).
  4123.  
  4124. Now only events on the current channel will be displayed and can be
  4125. edited.
  4126.  
  4127. To restore all the channels, click all the reddened channels in the
  4128. Channel Square.  A quick trick that restores all locked channels is to
  4129. choose BAR from the edit menu.  Since we are already in the Bar Editor,
  4130. this function will simply reinitialize the screen.  Part of the
  4131. reinitializing process is to unlock all channels.
  4132.  
  4133. *Note:  Various event types can also be temporarily hidden using the
  4134. Display menu.
  4135.  
  4136. (See Bar Editor / Display Menu)
  4137.  
  4138. SELECT
  4139. ("E" from the keyboard)
  4140.  
  4141. Clicking SELECT puts the Bar Editor into "Select mode".  The mouse then
  4142. becomes a tool for drawing boxes around events or groups of events to
  4143. "select" them for future group operations.
  4144.  
  4145. To select an event or group of events, simply click and hold the left
  4146. mouse button anywhere in the score window to define one corner of the
  4147. box.  Now drag the pointer until you see the outline of a box appear and
  4148. expand.  When you release the mouse button, any events within the box
  4149. will become selected, and the box will disappear.  Selected events will
  4150. change in appearance to show that they have been selected.  Some, like
  4151. Note events, appear hollow when selected.  Others use reversed colours.
  4152.  
  4153. It is possible to draw boxes bigger than can be displayed on the screen
  4154. at one time.  Simply move the mouse off the edge of the graphic score
  4155. window while dragging the corner of the box and the screen will auto-
  4156. scroll to follow you.  You will find it quicker work to zoom out before
  4157. selecting events in large sections of time.
  4158.  
  4159. Selected events are cumulative.  Selecting anew event does not de-Select
  4160. other events.  This is handy when selecting individual notes out of a
  4161. cluster, as when picking out the inner voice of a trio where the three
  4162. parts overlap in range.  One can move through the score, selecting a few
  4163. notes here and a few notes there until all the desired notes are
  4164. selected.  (Since selection is cumulative, it is a good idea to use
  4165. UNMARK before selecting so that no previously selected events are
  4166. included in the group accidentally.)
  4167.  
  4168. See Bar Editor / Unmark)
  4169.  
  4170. *Note:  It is not necessary to box a complete Note event to Select it.
  4171. But you must box at least the head of the note.  This will come in handy
  4172. when Selecting notes with long duration.
  4173.  
  4174. After a group of events has been selected, many other editing functions
  4175. can be used to edit them collectively.  For instance, clicking on the
  4176. MIDI Channel Square will change their MIDI channel assignments.  Pressing
  4177. the CursorUp and CursorDown keys will transpose all selected (and
  4178. transposable) events by halfsteps.  Pressing the CursorLeft and
  4179. CursorRight keys will move all the selected events through time in
  4180. increments of the current Grid Size when SNAP is on, and in increments of
  4181. one clock when SNAP is off.  The cut and paste operations available in
  4182. the Options menu are all used in reference to a group of selected events.
  4183. The Quantizer, Velocity Scaler, and Aftertouch Scaler modules can all be
  4184. used to operate on selected events.
  4185.  
  4186. (See Bar Editor / MIDI Channel Square)
  4187.  
  4188. (See Bar Editor / Grid)
  4189.  
  4190. (See Bar Editor / Snap)
  4191.  
  4192. (See Bar Editor / Options Menu)
  4193.  
  4194. (See Bar Editor / Modules Menu)
  4195.  
  4196. MARK
  4197. ("M" from the keyborad)
  4198.  
  4199. Clicking MARK puts the Bar Editor into "Mark mode".  Mark mode is similar
  4200. to Select mode in that it defines a group of events for use in group
  4201. operations.  The difference is that Mark mode deals with regions of time
  4202. and the events within that time,  while Select mode only deals with the
  4203. events.  This means that MARK can be used in conjunction with cut and
  4204. paste operations to splice sections of musical time together, as when
  4205. changing the order of measures in a sequence.
  4206.  
  4207. The tool word MARK stays highlighted in white while the editor is in Mark
  4208. mode.
  4209.  
  4210. Here is how to Mark a region of time:
  4211.  
  4212. Move the mouse pointer to the beginning of the section you wish to mark.
  4213.  
  4214. Pick and hold the left mouse button.  A vertical magenta line will
  4215. appear, marking the beginning of the region.  The T= field, below the
  4216. score window, will indicate the start time for the beginning of the
  4217. region.
  4218.  
  4219. Hold the mouse button and drag the pointer to stretch the magenta region
  4220. to the end of the section to be marked.  If the region to be marked is
  4221. larger than the portion of the sequence shown on the screen, simply move
  4222. the mouse pointer off the edge of the graphic score window while
  4223. dragging, and the score window will auto-scroll to bring the needed
  4224. portions of the sequence into view.  The D= field, below the score
  4225. window, will indicate the total duration of the marked area as it grows.
  4226. When the pointer is positioned over the end of the region, release the
  4227. mouse button.  The region is now marked.
  4228.  
  4229. If you make a mistake in marking a region, click UNMARK (see below) and
  4230. start over.
  4231.  
  4232. An alternative method for marking large portions of time is to click once
  4233. at the beginning point, then scroll forward or play the sequence to find
  4234. the end of the section.  Once the end is found, position the pointer over
  4235. the end point, hold the SHIFT key, and click to mark the entire region
  4236. between the two points.
  4237.  
  4238. *Note:  When using MARK to move measures around, you will probably find
  4239. it handy to set the Grid Size to as large a value as practical and use
  4240. SNAP.  Also when marking large portions of time, you will find it quicker
  4241. work if you zoom out (ZOOM-) first, so a larger portion of the sequence
  4242. can be seen in the window at once.
  4243.  
  4244. UNMARK
  4245. ("U" from the keyboard)
  4246.  
  4247. The UNMARK tool word is a command that causes all currently selected
  4248. events to become deselected, or a currently marked region of time to
  4249. become unmarked.  UNMARK is used to "clean the slate" before using either
  4250. SELECT or MARK, or after making a mistake while using either of these.
  4251.  
  4252. The word UNMARK only stays highlighted while the events are being
  4253. unmarked.  Once they are unmarked, UNMARK returns to normal.  UNMARK can
  4254. be used while in any mode.
  4255.  
  4256. ZOOM + ANDZOOM-
  4257. (SHIFT-"Z" from the keyboard)
  4258.  
  4259. Read these as "Zoom increase" and "Zoom decrease," or "Zoom in" and "Zoom
  4260. out".  Use these tool words to change the time scale of the graphic
  4261. window display.  This works similarly to a zoom lens on a camera; a
  4262. higher zoom gives a closer look at the subject, a lower zoom gives a
  4263. wider look at the surroundings.
  4264.  
  4265. There are 7 levels of Zoom; each level shows half or twice the time scope
  4266. of the neighboring  Zoom level.  Each time you click on ZOOM+ or ZOOM-,
  4267. the time scale displayed in the graphic score window is halved or
  4268. doubled.
  4269.  
  4270. These tool words are direct commands and may be used in any mode.  They
  4271. stay highlighted temporarily, while the window is readjusted, then return
  4272. to normal.
  4273.  
  4274. Increasing zoom (ZOOM+) shows less actual time on the screen.  This
  4275. allows mouse manipulations of data in resolutions as small as one or two
  4276. clocks.  (Movements of exactly one clock can also be effected upon the
  4277. current event, or selected events, by using the CursorLeft and
  4278. CursorRight keys, while SNAP is off.)  Decreasing zoom (ZOOM-) shows more
  4279. time on the screen.  This allows macro-scaled manipulations (as when
  4280. cutting and pasting song sections) by showing many measures on the screen
  4281. at once.
  4282.  
  4283. (See Snap (below))
  4284.  
  4285. *Note:  The pitch scale does not zoom.  It always stays in scale with the
  4286. miniature keyboard graphic to the left of the graphic score window.
  4287.  
  4288. SNAP
  4289. (SHIFT-"S" from the keyboard)
  4290.  
  4291. SNAP is an optional mode switch, and may be used with any other mode.
  4292. SNAP was inspired by a similar function in CAD (Computer Aided Design)
  4293. programmes.  It limits the placement of events in the score window to the
  4294. modes of an invisible "Grid".  SNAP is turned off and on by clicking it.
  4295. When on, it appears written in white.
  4296.  
  4297. (See Bar Editor / Grid (below))
  4298.  
  4299. SNAP affects various editing procedures differently.  The procedures that
  4300. SNAP affects are:
  4301.  
  4302. Adding or Inserting new events into the score.
  4303.  
  4304. Pasting the Clip into the score.
  4305.  
  4306. Changing the start times of pre-existing events in the score (moving
  4307. them).
  4308.  
  4309. Changing the durations of pre-existing events in the score.
  4310.  
  4311. Marking a region of time.
  4312.  
  4313. When Adding or Inserting new events, SNAP restricts them to being placed
  4314. on Grid points only, rather than being placed freely.  When SNAP is off,
  4315. new events can be placed anywhere in time, down to a resolution of one
  4316. clock (l/l92 quarter note).
  4317.  
  4318. When pasting the Edit Clip into the score using PASTE, the start time of
  4319. the first event in the Clip is limited to Grid points only.  All
  4320. following events in the Clip stay in their original relationship with the
  4321. first event.  For example, when pasting a Clip containing two events an
  4322. eighth note apart while SNAP is on, the first event will be restricted to
  4323. Grid points and the second note will always be one eighth note later than
  4324. the first, regardless of what the Grid size is.
  4325.  
  4326. (See Bar Editor / Options Menu / Paste)
  4327.  
  4328. When pre-existing events are moved about in the score, SNAP allows them
  4329. to be moved in increments of the current Grid Size (rather than being
  4330. moved to Grid points specifically).  That means that if the event was not
  4331. "right on the beat" before being moved, it will still have the same error
  4332. after being moved.  This is good because events retain their original
  4333. rhythmic feel, as far as being a little early or late, while being moved
  4334. around in the score.  This applies whether events are being dragged with
  4335. the mouse or moved with the cursor keys.  When SNAP is off, the start
  4336. times of pre-existing events can be nicely adjusted down to a resolution
  4337. of one clock.
  4338.  
  4339. *Note:  You can get some interesting rhythmic-offset effects with SNAP by
  4340. temporarily changing to an unusual Grid Size and moving a group of
  4341. selected notes with the CursorLeft and CursorRight keys while SNAP is on.
  4342. Example:  Select a group of 6 quarter-note triplets in a drum sequence.
  4343. Change the Grid Size to eighth notes and turn SNAP on.  Use the
  4344. CursorLeft key to move the selected triplet notes l eighth note earlier
  4345. in the score.  Off beat triplets can give you that Latin timbale-solo
  4346. sound.
  4347.  
  4348. (See Advanced Users / Editing Tricks / Rhythmic Offsets)
  4349.  
  4350. When changing the durations of pre-existing events, SNAP allows them to
  4351. be changed in increments of the current duration.  Example:  If the
  4352. current Duration is set to quarter notes, then an eighth note in your
  4353. sequence could be stretched to become a dotted quarter note (l eighth
  4354. plus l quarter), but not a quarter note.  As you dragged its tail with
  4355. the mouse, you would see it change suddenly (that is the "snap") from an
  4356. eighth note to a dotted quarter note.  That is because SNAP prevented it
  4357. from changing by any less than a quarter note's duration.  This applies
  4358. as well when using the cursor keys to change the durations of the current
  4359. event or group of selected events.  When SNAP is off, the durations of
  4360. pre-existing events can be nicely adjusted down to a resolution of one
  4361. clock.
  4362.  
  4363. *Note:  The current Duration is also set in the Grid requester.
  4364.  
  4365. When marking a region of time using MARK, SNAP restricts the edges of the
  4366. region to Grid points.  As the region is dragged and expanded, it will
  4367. appear to increase in size in jumps.  Setting the Grid Size to maximum
  4368. and turning SNAP on before cutting a song section will keep the section's
  4369. length to multiples of a measure and assure that when the section is
  4370. pasted back into the score, events moved aside to make room for the new
  4371. section will retain their original rhythmic identity.  When SNAP is
  4372. turned off, regions of any size can be marked with one-clock accuracy.
  4373.  
  4374. QUIET
  4375. ("Q" from the keyboard)
  4376.  
  4377. QUIET is an optional mode switch, and may be used with any other mode.
  4378. QUIET turns off the audible feedback heard when Note events are dragged
  4379. in the graphic score window.
  4380.  
  4381. While QUIET is on (highlighted), feedback is turned off.  Click QUIET to
  4382. turn it on and off.  QUIET does not affect the playback of events when
  4383. the editor is in play or record.
  4384.  
  4385. (See Bar Editor / Options Menu / Feedback)
  4386.  
  4387. An extra editing trick is possible when QUIET is turned on and Feedback
  4388. is defeated.  While the sequence is playing, a new event may be added or
  4389. a pre-existing event may be grabbed without stopping the clock.  As long
  4390. as you hold the left mouse button the event may be dragged to different
  4391. positions.  Instead of Feedback playing the event each time it is moved
  4392. (as when QUIET is off) the event will be played each time the green Time
  4393. line passes over it.  If the sequence is short and repeating, different
  4394. positions for the event can be tried and listened to as the sequence
  4395. repeats.  As soon as you release the event, by releasing the mouse
  4396. button, the clock will stop and the event will be entered into the score
  4397. at the current position.
  4398.  
  4399. SCROLL
  4400. ("L" from the keyboard)
  4401.  
  4402. SCROLL is an optional mode switch, and may be used with any other mode.
  4403. SCROLL controls the auto-scroll function of the graphic score window.
  4404. Click SCROLL to turn it on and off.
  4405.  
  4406. If SCROLL is on (highlighted), then when the editor is in play or record,
  4407. the graphic score window will automatically scroll along through the
  4408. score in musical time, showing new events approaching from the right and
  4409. passing through the time line as they are played.
  4410.  
  4411. If SCROLL is off, the score window will not automatically scroll as the
  4412. sequence is played, but may still be manually scrolled.  When you first
  4413. click PLAY, the Time Line travels from the left edge of the screen and
  4414. continues off the right edge of the window and disappears.  Events being
  4415. played off screen would be heard but not seen as the Time Line passes
  4416. through them.  You might prefer to turn SCROLL off when working in high
  4417. zoom (closeup) since the screen would otherwise rapidly scroll away from
  4418. the area you want to see.
  4419.  
  4420. (See Bar Editor / Zoom+ and Zoom-)
  4421.  
  4422. GRID
  4423. ("G" from the keyboard)
  4424.  
  4425. This tool word is used to call the Grid requester where the current GRID
  4426. SIZE and DURATION parameters may be altered.
  4427.  
  4428. The two parameters Grid Size and Duration are used by many other
  4429. functions in the Editors.  Grid Size and Duration are used by SNAP.  Grid
  4430. Size and Duration are both used by the Quantizer Module.  Grid Size is
  4431. used by the STEP button when recording in step mode.  Duration is used by
  4432. ADD and INSERT to set the durations of new notes being entered into the
  4433. score.
  4434.  
  4435. WHAT IS THE GRID?
  4436.  The Grid is an invisible structure of time points mapped over a sequence
  4437. and used for reference when editing.  The Grid works differently in
  4438. Relative and Absolute sequences.
  4439.  
  4440. When editing a Relative sequence, Grid points are separated by a set
  4441. number of clocks called the "Grid Size".  Clocks are the smallest unit of
  4442. resolution in Relative sequences and represent l/l92 quarter note.
  4443.  
  4444. When editing Absolute sequences, the smallest unit of resolution is l/4
  4445. frame.  The number of frames per second depends on the Time Code you are
  4446. using.  Time Code is set in the Sync menu.  The graphic score window can
  4447. only show a resolution of single frames visually, but the actual musical
  4448. data is recorded and stored in quarter frames.  (Example:  With SNAP off,
  4449. move the current event with the CursorRight key.  You will notice that
  4450. for every four key presses, the frame number in the T= field will
  4451. increase by one).
  4452.  
  4453. (See Sequencer Page / Sync Menu / Time Code)
  4454. (See Bar Editor / Snap)
  4455. (See Bar Editor / T=)
  4456.  
  4457. WHAT IS THE DURATION PARAMETER?
  4458.  The Duration parameter sets up an arbitrary duration that can be used as
  4459. a model by other functions in Music-X.  For instance, when adding new
  4460. note events to a sequence in the Bar Editor, the ADD function uses the
  4461. current Duration parameter as the model duration for each new note.  Also
  4462. when changing the durations of pre-existing events in the sequence, while
  4463. SNAP is on, the current Duration parameter is used as model for the
  4464. amount of change that can be applied to the durations of the pre-existing
  4465. notes.
  4466.  
  4467. Clicking GRID opens the SET GRID SIZES window in the Bar Editor.
  4468. Depending on the type of sequence currently being edited, one of two
  4469. similar windows will appear.  Take a look at the Grid requester window
  4470. for Absolute sequences below.
  4471.  
  4472.                *******************************************
  4473.                *             SET GRID SIZES              *
  4474.                *******************************************
  4475.                * GRID SIZE:  *************************** *
  4476.                *             * 0060                    * *
  4477.                *             *************************** *
  4478.                *******************************************
  4479.                * DURATION:   *************************** *
  4480.                *             * 0l20                    * *
  4481.                *             *************************** *
  4482.                *******************************************
  4483.                *                ********                 *
  4484.                *                *  OK  *                 *
  4485.                *                ********                 *
  4486.                *******************************************
  4487.  
  4488. Illustration 7.l0: Grid Requester (Absolute)
  4489.  
  4490. In this requester, you will see two identical sliders titled GRID SIZE:
  4491. and DURATION:.  The sliders range from l to 3600.  The sliders are used
  4492. to adjust the number of quarter frames for each parameter.  Once the
  4493. parameters are set correctly, the window may be closed by clicking the OK
  4494. button or pressing the "O" key.
  4495.  
  4496. (See Bar Editor / Modules Menu / Quantizer Module)
  4497. (See Bar Editor / Edit Menu / Auto-Step)
  4498.  
  4499. The Grid requester used when editing Relative sequences contains slightly
  4500. expanded controls.  Besides the two sliders, there are displays of
  4501. musical note values including a "dot", and some tuplet numbers.  The
  4502. sliders represent the number of clocks in the current GRID SIZE: and
  4503. DURATION: parameters.  They range from l clock to the number of clocks in
  4504. one measure.  Example:  When the Time Signature is 4/4, the sliders range
  4505. from l to 768 clocks.  The maximum slider range is l to 3072 clocks with
  4506. a Time Signature of l6/4.
  4507.  
  4508. As you drag either slider, the number written on the slider itself will
  4509. change to show
  4510.  
  4511.                   *************************************
  4512.                   *          SET GRID SIZES           *
  4513.                   *************************************
  4514.                   ***************** ***** *************
  4515.                   *               * *   * * 3   5   7 *
  4516.                   ***************** ***** *************
  4517.                   * GRID SIZE:*************************
  4518.                   *           *     l92               *
  4519.                   *           *************************
  4520.                   *************************************
  4521.                   ***************** ***** *************
  4522.                   *               * *   * *           *
  4523.                   ***************** ***** *************
  4524.                   *************************************
  4525.                   * DURATION:**************************
  4526.                   *          *      l92               *
  4527.                   *          **************************
  4528.                   *************************************
  4529.                   *              ********             *
  4530.                   *              *  OK  *             *
  4531.                   *              ********             *
  4532.                   *************************************
  4533.  
  4534. Illustration 7.ll: Grid Requester (Relative)
  4535.  
  4536. the number of clocks in the parameter.  As the number of clocks increases
  4537. or decreases, the closest musical note value will be highlighted in
  4538. purple.  If the clocks are exactly the correct number for a musical note
  4539. value, that note graphic is highlighted in white instead of purple.
  4540.  
  4541. You can also click directly on the note values, the dot, and the tuplet
  4542. numbers themselves.  When you do, the slider moves to the correct number
  4543. of clocks in that note value.  The tuplet numbers are mutually exclusive.
  4544. Clicking on any one of them turns the others off.  If you do not want any
  4545. tuplets, clicking on the currently highlighted tuplet number turns it
  4546. off.  The dot is turned on and off by clicking on it as well.
  4547.  
  4548. The dot and tuplet numbers work as in normal music theory.  Adding a dot
  4549. to a note increases its duration to 3/2 of normal.  It adds half of the
  4550. original value.  (Example:  A quarter note contains l92 clocks; a dotted
  4551. quarter note contains half again as many, 288 clocks.)  Triplets (noted
  4552. by the number 3) are worth 2/3 normal value.  (Example: A quarter note
  4553. contains l92 clocks; a quarter note triplet contains l28 clocks.)
  4554. Quintuplets (noted by the number 5) are worth 4/5 normal value.
  4555. Septuplets (noted by the number 7) are worth 4/7 normal value.
  4556.  
  4557. If you want to use other polyrhythms, besides the ones shown in the
  4558. requester, you can do so by figuring out how many clocks are in one of
  4559. your beats and set it up using the slider.
  4560.  
  4561. Example:  To set up a custom Grid Size of ll notes per measure of 4/4,
  4562. for quantizing or editing:
  4563.  
  4564. A whole note (768 clocks) divided by ll notes is 69.82 clocks per note.
  4565. Round off 69.82 to 70 clocks.
  4566.  
  4567. From within the Bar Editor, click GRID to open the Grid requester.  Set
  4568. the GRID SIZE: slider to 70 clocks (slightly less than a dotted l6th).
  4569.  
  4570. Close the Grid requester by clicking OK.
  4571.  
  4572. Turn SNAP on (click it so it is highlighted).  Turn ADD on (click it
  4573. so it is highlighted), and add a measure of llth notes in the score
  4574. window with the mouse to see that the Grid is working.
  4575.  
  4576. The Grid can now be used to Quantize as well.
  4577.  
  4578. A bit about accumulated errors and error correction:  ll notes of 70
  4579. clocks each total 770 clocks.  Our measure of 4/4 is only 768 clocks.
  4580. The next (l2th) Grid point would be 770-768=2 clocks too late.  However,
  4581. the Grid automatically resets to the beginning of each measure so that
  4582. accumulated errors are corrected.  The Grid starts again at 768 clocks;
  4583. our polyrhythm stays synchronized.
  4584.  
  4585. *Note:  Polyrhythms that divide evenly into the number of clocks per
  4586. measure have no accumulated errors and need no error correction.
  4587.  
  4588. PARAMS
  4589. ("SHIFT-"P" from the keyboard)
  4590.  
  4591. This tool word is used to open the PLAY PARAMETERS window where various
  4592. parameters governing the way teh sequence is played may be altered.  Some
  4593. of these parametes are also found in the Sequencer Page but have been
  4594. made available here for convenience.
  4595.  
  4596. Descriptions of the various parameters available from this window are
  4597. listed below.
  4598.  
  4599. TEMPO:
  4600.  At the top of the window is a tempo slider.  This slider works exactly
  4601. like the tempo slider in the Sequencer page and affects the global tempo
  4602. setting used by the sequencer and editors during playback.
  4603.  
  4604. This slider can be used to audition a sequence at various tempos during
  4605. editing.  If you click PLAY before calling the Params window, the
  4606. sequence will continue to play while the window is open.  You will be
  4607. able to adjust the tempo and hear the changes while the sequence is
  4608. playing, even though the background screen will temporarily appear frozen
  4609. during window access.
  4610.  
  4611. *Note:  If there are any imbedded tempo events in your sequence they will
  4612. take precedence over the global tempo setting shown here.
  4613.  
  4614. MEMORY:
  4615.  To the right of the tempo slider is the MEMORY: readout.  This is an
  4616. indicator of available free memory.  It shows an estimation of the number
  4617. of Note events (not bytes) that could still be added to memory before
  4618. running out of room.  The average Note event uses l0 bytes: 3 to store
  4619. the start time, 3 to store the MIDI data for a Note On, 3 to store the
  4620. stop time, and l for the release velocity.  This readout is the same as
  4621. the one found in the Sequencer Page.
  4622.  
  4623. (See Sequencer Page / Tempo Window / Memory:)
  4624.  
  4625. *Note:  This indicator may show a slightly different number than the one
  4626. in the Sequencer Page.  This is because different amounts of memory
  4627. overhead are required by the different pages.  The available free memory
  4628. actually changes slightly from page to page.
  4629.  
  4630. ENABLE SYNC
  4631.  The ENABLE SYNC switch is used to allow the editors to play along with a
  4632. drum machine in the same manner as the Sequencer Page would.  This can be
  4633. useful for hearing a sequence "in context" using a separately programmed
  4634. drum machine with the sequencer.
  4635.  
  4636. Playing a sequence from within the editors normally uses the Internal
  4637. clock if a Relative sequence (one based on measures, beats, and Clocks)
  4638. is being edited, and Video Clock if an Absolute sequence (based on Hours,
  4639. Minutes, Seconds, and Frames) is being edited.  The ENABLE SYNC switch in
  4640. the Params window overides the default setting and enables the use of
  4641. MIDI Clocks, MINI Start, MIDI Stop, MIDI Continue, and Song Position
  4642. Pointer messages as indicated by the current settings in the Sync menu.
  4643. This basically enables the drum machine.
  4644.  
  4645. (See Sequencer Page / Sync Menu)
  4646.  
  4647. PLAY IN CONTEXT
  4648.  The PLAY IN CONTEXT switch is used to hear the currently edited sequence
  4649. as it will ultimately sound with the rest of the performace.  This is
  4650. good for listening to see if the edits being made are musically
  4651. compatible with the other sequences in memory.  When the PLAY IN CONTEXT
  4652. button is turned on, the Editor Pages will Play in Context whenever the
  4653. PLAY button is clicked.  PLAY IN CONTEXT cannot be used when Step
  4654. recording.
  4655.  
  4656. When playing in context, the entire performance will play as though
  4657. playing from the Sequencer Page.  The current sequence being edited will
  4658. only be heard if self starting (if not turned off in the Sequencer Page)
  4659. or if triggered by another sequence using a Play Sequence event.  Each
  4660. time the current sequence is triggered, or starts by itself, the sequence
  4661. will be heard and (if SCROLL is on) the Editor will scroll to show the
  4662. portion of the sequence being played.
  4663.  
  4664. (See Sequencer Page / Sequence List / <<>> (Offset Arrows))
  4665.  
  4666. *Note:  If you are using a drum machine as a virtual sequencer (you have
  4667. patterns programmed into the drum machine rather than triggering it from
  4668. the sequencer) you will also want to use ENABLE SYNC (see above).
  4669.  
  4670. START:
  4671.  Read this as "Start Offset"
  4672.  
  4673. The START: slider is used in conjunction with the PLAY IN CONTEXT switch
  4674. to let the performance start from different positions.  This is similar
  4675. to changing the clock positions in the Sequencer Page before clicking
  4676. PLAY.  If the PLAY IN CONTEXT switch is not on, the START: slider is
  4677. ignored.
  4678.  
  4679. Normally, when playing in context, the performance starts from the
  4680. biginning of the song and continues to the end.  This is good for hearing
  4681. the whole piece as it will ultimately sound with the currently edited
  4682. sequence.  However, when editing, you may wish to listen to only a
  4683. certain portion of the performance to see how the edits are coming along.
  4684.  
  4685. This slider can be used to set the number of measures that will be
  4686. skipped past the beginning of the song before starting to play the
  4687. performance.  The slider ranges from 000 to 500 measures.  When the
  4688. slider is set at 000 measures this means that no measures will be skipped
  4689. and the song will start from the beginning each time PLAY is clicked.
  4690. Setting the slider at 00l measures means that one measure will be skipped
  4691. before playing the song; the song will start on the second measure.
  4692.  
  4693. For example, suppose you are editing a piano sequence containing a solo
  4694. that is supposed to occur at the 32nd measure of the song, and you want
  4695. to hear what it will sound like with the other sequences.  Turn on PLAY
  4696. IN CONTEXT, and set the START: slider to 3l measures.  When PLAY button
  4697. is clicked in the Editor, the song will start playing from the 32nd
  4698. measure and the current sequence will play along with it.
  4699.  
  4700. REMAP T/S
  4701.  Read this as "Remap Time Signature".
  4702.  
  4703. This switch is used in conjunction with the Time Siganture control (see
  4704. below) to change the metric structure of a sequence.
  4705.  
  4706. There are two approaches to changing the Time Signature of a prerecorded
  4707. sequence.
  4708.  
  4709. The first approach is to expand or contract the measure lengths by adding
  4710. or subtracting beats from the end of each measure.  This is the default
  4711. method in Music-X.  The advantage to this is that measure integrity is
  4712. maintained.  In other words, the same notes still occur within the same
  4713. measures after the Time Signature change.  The disadvantage to this is
  4714. that when changing to a smaller measure size, notes at the end of each
  4715. measure would seem to clump together.
  4716.  
  4717. The second approach is to leave the music alone and simply map a new Time
  4718. Signature over the top of it.  The music sounds the same but is
  4719. structured differently.
  4720.  
  4721. The REMAP T/S switch allows you to use the second approach.  To remap the
  4722. current sequence into a new time signature, turn the REMAP T/S switch on,
  4723. then change the Time Signature control (see below) to the desired Time
  4724. Signature, then close the Params window by clicking OK.
  4725.  
  4726. *Note:  When remapping a sequence containing Time Signature Change
  4727. events, the REMAP T/S function takes into account the way the music
  4728. sounded with the Time Signature Changes in it.  After remapping, those
  4729. Time Signature Change events are unneeded and sould be manually removed
  4730. from the sequence.
  4731.  
  4732. TIME SIGNATURE CONTROL
  4733.  You can change the global time signature with this control, as you would
  4734. in the main Sequencer Page.  Click on the green arrows to increase or
  4735. decrease the numerator or denominator of the Time Signature.  This
  4736. globally affects all sequences.
  4737.  
  4738. *Note:  Any TSIG events in the currently playing sequence(s) will overide
  4739. the global Time Signature.
  4740.  
  4741. (See Sequencer Page / Time Signature Window)
  4742.  
  4743. OK
  4744.  
  4745. Click here when done, to close the PLAY PARAMETERS window and continue
  4746. editing.
  4747.  
  4748. REPEAT
  4749. (SHIFT-"R" from the keyboard)
  4750.  
  4751. The last of the tool words in the Tool List is REPEAT, found directly
  4752. below the word PARAMS. REPEAT is an option mode switch, and may be used
  4753. with any other mode.  REPEAT controls the auto-repeat  function of the
  4754. graphic score window.  Click REPEAT to turn it on and off.
  4755.  
  4756. This word is normally turned on (highlighted in white) by default.  When
  4757. on, it causes the sequence to auto-repeat WHEN IN THE EDITOR ONLY.  When
  4758. the green Time line reaches the yellow End line during play, the clock
  4759. returns to the beginning of the sequence and starts to play it again.
  4760. This is usually handy when editing, especially when working on small
  4761. looping sections, as when writing drum parts.  Conversely, if you are
  4762. working near the end of a long sequence, you may wish to turn this off to
  4763. prevent the score window from jumping to the beginning when it reaches
  4764. the end of the sequence.
  4765.  
  4766. *Note:  When Playing In Context, the auto-repeat function is defeated to
  4767. give true playback.
  4768.  
  4769. (See Bar Editor / Params / Play In Context)
  4770.  
  4771. *Note:  If you want the sequence to repeat when played from the Sequencer
  4772. Page, you must Add a Set Repeats event.
  4773.  
  4774. (See Bar Editor / Add)
  4775. (See Bar Editor / Event Types / Set Repeats)
  4776.  
  4777. SEQ:
  4778.  Reat this as "current sequence number".  This indicator is found just
  4779. above the PAUSE button, against the lower left edge of the Bar Editor
  4780. Page.  When you first enter the Bar Editor by clicking EDIT in the
  4781. Sequencer Page, the number of the sequence to be edited is written to
  4782. this field.
  4783.  
  4784. The current sequence number is the sequence that will be overwritten when
  4785. you exit the editor and STORE the edit buffer to sequence memory.
  4786.  
  4787. (See Bar Editor / File Menu / Exit)
  4788.  
  4789. The current sequence can be changed in two ways.  Firs, by brining a new
  4790. sequence into the editor using SELECT..., in the File menu.  Second, by
  4791. storing the current sequence to other than the original location using
  4792. STORE..., in the FILE menu.
  4793.  
  4794. (See Bar Editor / File Menu / Select...)
  4795. (See Bar Editor / File Menu / Store...)
  4796.  
  4797. T=
  4798.  
  4799. This indicator is found just above the transport controls.  Think of it
  4800. as the "Time equals" indicator.
  4801.  
  4802. The T= indicator has five uses.  First, it shows the starting time of the
  4803. current event when grabbed or dragged.  Second, during a paste operation,
  4804. when pasting a clip of previously selected events, it shows the starting
  4805. time of the first event in the clip as it is being placed in the score.
  4806. Third, during a paste operation, when pasting a region of previously
  4807. marked time, it shows the point at which the clip will be inserted into
  4808. the score while it is being positioned.  Fourth, when the sequence is
  4809. playing it shows the current clock time.  Fifth, when there is no current
  4810. event, it shows the time under the mouse pointer.
  4811.  
  4812. (See Bar Editor / Options Menu / Paste)
  4813. (See Bar Editor / Select)
  4814. (See Bar Editor / Mark)
  4815.  
  4816. For Relative sequences, this indicator reads out in measures, beats, and
  4817. clocks.  For Absolute sequences, it reads in hours, minutes, seconds, and
  4818. frames.
  4819.  
  4820. D=
  4821.  
  4822. This indicator, found just above the transport controls and to the right
  4823. of the T= indicator, can be thought of as the "Duration equals"
  4824. indicator.  It is used to display the durations of various things during
  4825. editing.  In certain cases, it is also used as a transposition indicator.
  4826.  
  4827. This indicator has three uses as a duration indicator.  First, it shows
  4828. the duration of the current event.  Second, while in Mark mode, it shows
  4829. the duration of a region of time being marked.  Third, while in Select
  4830. mode, it shows the time inside the Select box as the box is extended.
  4831.  
  4832. When being used as a duration indicator, this indicator reads out in
  4833. measures, beats, and clocks for Relative sequences, and hours, minutes,
  4834. seconds, and frames for Absolute sequences.
  4835.  
  4836. During paste operations, this indicator is temporarily used to show the
  4837. transposition of the clip when it is being positioned in the score.  In
  4838. this case it reads out in the number of halfsteps away from the original
  4839. key.
  4840.  
  4841. (See Bar Editor / Mark)
  4842. (See Bar Editor / Select)
  4843. (See Bar Editor / Options Menu / Paste)
  4844.  
  4845. TRANSPORT CONTROLS
  4846.  The transport controls in the Bar Editor work similarly to the transport
  4847. controls in the Sequencer Page.  However, there are no fast forward or or
  4848. rewind buttons in the Bar Editor.  Instead, the score window itself is
  4849. repositioned using a scroll bar.  Following are descriptions of the
  4850. Transport Controls in the Bar Editor.
  4851.  
  4852.  
  4853. *****************  *****************  *****************  *************
  4854. *     PAUSE     *  * >  PLAY       *  * 0  RECORD     *  * []  STOP  *
  4855. *****************  *****************  *****************  *************
  4856.  
  4857. Illustration 7.l3: Transport Controls.
  4858.  
  4859. PAUSE
  4860. (SPACE BARfrom the keyboard)
  4861.  
  4862. PAUSE is used during playback, currently playing notes are temporarily
  4863. held, and finish naturally when PAUSE is released.
  4864.  
  4865. If PAUSE is used while recording, the clock stops but the recording
  4866. process does not.  This feature is used with the STEP button to implement
  4867. step recording.
  4868.  
  4869. (See Bar Editor / Recording Modes (below)).
  4870.  
  4871. PLAY
  4872. ("P" from the keyboard)
  4873. (ESC (Escape key) = All notes off)
  4874. (SHIFT-ESC = Super All notes off)
  4875.  
  4876. In the Bar Editor, clicking PLAY will locate the clock to the beginning
  4877. of the portion of the sequence currently shown in the window and begin
  4878. playing from there.  In other words, the clock will start at (and the
  4879. green Time Line will scroll from) the left edge of the window.
  4880.  
  4881. If at anytime during play, a "MIDI stuck-on note" happens, remember that
  4882. pressing the Amiga's Escape key (at the upper left corner of the
  4883. keyboard) sends a MIDI "All Notes Off" message.  Holding the SHIFT key
  4884. while pressing the escape key initiates "Super All Notes Off", which
  4885. actually sends a MIDI Note Off message for each of the l28 possible notes
  4886. on all l6 MIDI channels.
  4887.  
  4888. RECORD
  4889. ("R" from the keyboard)
  4890.  
  4891. There are three methods for recording in the Bar Editor:  Live Recording,
  4892. Step Recording, and Step Recording with Auto-Step.  These methods are
  4893. discussed in the next subchapter.
  4894.  
  4895.         ***********************************************************
  4896.         *                    OK TO ERASE                          *
  4897.         *                    WORK BUFFER?                         *
  4898.         *       ************               *************          *
  4899.         *       *    NO    *               *    YES    *          *
  4900.         *       ************               *************          *
  4901.         ***********************************************************
  4902.  
  4903. Illustration 7.l4: Record Safety Prompt
  4904.  
  4905. If the Edit Buffer is not empty when you click the RECORD button, a
  4906. safety prompt will come up to prevent accidental erasure.  Click NO to
  4907. back out safely.  Otherwise click YES, or press the RETURN key to begin
  4908. recording.
  4909.  
  4910. STOP
  4911. ("S" from the keyboard)
  4912.  
  4913. Clicking the STOP button halts the clock and stops any currently playing
  4914. notes.  Clicking STOP while in record, adds an End event into the
  4915. sequence at the current clock position.
  4916.  
  4917. RECORDING MODES
  4918.  There are three ways to record in the Bar Editor:  Live recording, Step
  4919. recording, and Step recording with Auto-Step.  Each method has its
  4920. strengths.  The three methods are discussed below.
  4921.  
  4922. LIVE RECORDING
  4923.  Live recording in the Bar Editor is basically the same as the recording
  4924. process in the Sequencer Page.  However, the options have been scaled
  4925. down.  You cannot Punch-In, there are no Count-In Bars, etc.  You
  4926. essentially click RECORD and begin playing the mother keyboard.  The
  4927. snazzy thing about recording live in the Bar Editor is that you can see
  4928. the notes appear as they are recorded.
  4929.  
  4930. Example:  Recording in drum fill sequence from within the editor.
  4931.  
  4932. Click PARAMS.  Then from within the PLAY PARAMETERS window, turn on the
  4933. PLAY IN CONTEXT switch, and drag the START: slider to zero.  Click OK to
  4934. close the window.
  4935.  
  4936. (See Bar Editor / Params / Play in Context)
  4937.  
  4938. Turn on SCROLL in the Tool List.
  4939.  
  4940. Manually scross the Graphic Score Window to the beginning of the
  4941. sequence.
  4942.  
  4943. Click RECORD.  If the sequence is not currently empty, a safety prompt
  4944. will appear to prevent accidental loss.  Click NO to back out safely.
  4945. Otherwise, click YES, or press the RETURN key to proceed.
  4946.  
  4947. The Record Buffer will be emptied, and the editor will begin recording.
  4948. Other sequences in memory can be heard playing along since we are using
  4949. PLAY IN CONTEXT.
  4950.  
  4951. As the parts of the song come up that need drum fills, play the part on
  4952. the mother keyboard or MIDI drum pad.
  4953.  
  4954. As each note is received, it will appear in the graphic score window.
  4955. (Attack and Release velocities are not displayed during recording, to
  4956. speed up the display).
  4957.  
  4958. When done, click STOP.  The sequence may now be edited and eventually
  4959. stored.
  4960.  
  4961. STEP RECORDING
  4962.  Step recording allows you to manually control the movement of the clock
  4963. during record using the STEP and BACK buttons.  That means you can take
  4964. as much time as you need while deciding what notes to play next.  It also
  4965. means you can back up if you make a mistake, and correct it right away
  4966. before going on.  This can be handy for non-keyboard players.  It can
  4967. also be handy for recording difficult or impossible parts.  For instance,
  4968. a moving horn section, with spread voicings in l6th notes.
  4969.  
  4970. Step recording is implemented with the help of the PAUSE button, and the
  4971. STEP and BACK buttons.  The idea is, if PAUSE is clicked before RECORD,
  4972. the editor begins recording but the clock does not move.  This is the
  4973. beginning of manual control of the clock.  Once the clock is stopped, you
  4974. can take your time about placing your fingers on all the right notes.
  4975. The STEP button then comes into the picture to move the clock ahead in
  4976. controlled increments.  Each time STEP is clicked, the clock moves ahead
  4977. by the amount of clocks in the current Grid Size parameter.  In other
  4978. words, you are stepping along the Grid points, one at a time.  By
  4979. pressing keys at your leisure, and then advancing the clock, you can put
  4980. together music of difficulty beyond your own ability to play.
  4981.  
  4982. (See Bar Editor / Grid)
  4983.  
  4984. WORKING WITH DURATIONS
  4985.  Each time a note is pressed or released, that action gets recorded at
  4986. the current clock position.  If you press and release the same keys at
  4987. the same clock position, the new notes will have no duration.  The way to
  4988. do it is; press and hold a key, advance the clock, then release the key.
  4989. The more times you advance the clock while the key is held, the longer
  4990. the resulting duration will be.
  4991.  
  4992. The BACK button is used if you make a mistake, to erase the last note
  4993. played.  Each time you click the BACK key, the most recent note is
  4994. erased.  Clicking BACK repeatedly continues to erase notes.  As notes are
  4995. erased, the clock is also rewound to the point at which the last erased
  4996. note was before it was erased.
  4997.  
  4998. *Note:  If your mother keyboard is set up away from the Amiga, or you
  4999. just find it awkward to use the mouse while recording, a Keymap can be
  5000. used to set up one or more notes on the mother keyboard (the bottom or
  5001. top notes are usually the andiest) to trigger the Music-X command TIME
  5002. STEP which is the equivalent of clicking the STEP button in the Editor
  5003. Pages.
  5004.  
  5005. (See Keymap Editor / Action List / Music-X Command / Time Step)
  5006.  
  5007. Example:  Using Step Mode to record a walking bass part.
  5008.  
  5009. Use the SET GRID SIZES window to set the Grid Size to quarter notes.
  5010.  
  5011. Manually scroll the sequence to the beginning.
  5012.  
  5013. Click PAUSE to freeze the clock.
  5014.  
  5015. Click RECORD.  If the sequence is not currently empty, a safety prompt
  5016. will appear to prevent accidental loss.  Click NO to back out safely.
  5017. Otherwise, click YES or press the RETURN key to proceed.
  5018.  
  5019. The Record Buffer will be emptied, and the editor will begin
  5020. recording.  The clock will not move however, since PAUSE is on.
  5021.  
  5022. Click STEP, or press the ")" (right bracket) key, to step the clock
  5023. forward by one quarter note.  The note now has some duration, and will
  5024. appear in the score window.
  5025.  
  5026. Release the note on the mother keyboard.  We have just recorded a Note
  5027. Off on beat two of the sequence, creating a full Note event with a
  5028. duration of one quarter note.
  5029.  
  5030. Repeat the last three steps for each note in the bass line.  (Press the
  5031. note, advance the clock, release the note)
  5032.  
  5033. To record a rest, advance the clock by clicking STEP, or pressing the ")"
  5034. (right bracket) key, without pressing a note.
  5035.  
  5036. To record a note with a longer duration than the current Grid Size, press
  5037. the note, advance the clock more than once, and release the note.
  5038.  
  5039. To record a note of shorter duration than the current Grid Size, open the
  5040. SET GRID SIZES window while in record, and set the Grid Size to the
  5041. desired duration, then continue recording.
  5042.  
  5043. STEP RECORDING WITH AUTO-STEP
  5044.  Auto-Step mode is enabled by choosing AUTO-STEP from the Edit menu of
  5045. the Bar Editor.  When the menu item appears checked, Auto-Step mode is
  5046. enabled.
  5047.  
  5048. (See Bar Editor / Edit Menu / Auto Step)
  5049.  
  5050. Auto-Step mode makes it een easier to enter notes when Step recording.
  5051. Auto-Step causes the clock to advance forward in increments of the
  5052. current Grid Size each time a note is released on the mother keyboard.
  5053. This means it is not necessary to click the STEP button each time you
  5054. want the clock to move ahead.
  5055.  
  5056. Durations are determined in Auto-Step mode using the current Duration
  5057. parameter setting, as set in the Grid requester.  What happens is, when
  5058. you first press a key on the mother keyboard, the beginning of that note
  5059. is recorded at the current clock position.  When you release the key,
  5060. that note is assigned the same duration as the current Duration parameter
  5061. set in the Grid requester, and the clock is stepped forward by the amount
  5062. of time in the current Grid Size parameter, also set in the Grid
  5063. requester.  The current Grid and Duration sizes may be different.  By
  5064. changing the Grid or Duration size while in record mode, one can build a
  5065. melody with many complex rhythms.
  5066.  
  5067. Example:  Using Auto-Step to record a difficult melody:
  5068.  
  5069. Make sure Auto-Step is enabled in the Edit menu (the menu item should
  5070. appear checked).
  5071.  
  5072. Click the tool word GRID to open the Grid requester, and set the Grid
  5073. Size and Duration to the value of the first note in the melody.  (If you
  5074. are going to play sixteenth note, then set both parameters to sixteenth
  5075. notes.)
  5076.  
  5077. Click the PAUSE button to freeze the clock.  It will appear highlighted.
  5078.  
  5079. Click RECORD.  It will appear highlighted.
  5080.  
  5081. If the Edit Buffer is not currently empty, a safety prompt will appear to
  5082. prevent accidental loss.  Click NO to back out safely.  Otherwise, click
  5083. YES to proceed.
  5084.  
  5085. Press and release the first note in the melody.
  5086.  
  5087. The note will appear in the editor, and the clock will move forward.
  5088.  
  5089. Open the Grid requester again and set the Grid Size and Duration to the
  5090. value of the second note in the melody.  (If it is the same value then
  5091. you do not need to reset it).
  5092.  
  5093. Press and release the second note in the melody.
  5094.  
  5095. If you make a mistake, click BACK and play the note again.
  5096.  
  5097. Repeat the previous two steps until the melody is finished.  Then click
  5098. the STOP button to stop recording.
  5099.  
  5100. Chords can also be recorded in Auto-Step mode, as long as all the keys of
  5101. a chord are depressed before any one of them is released.
  5102.  
  5103. Example:  Using Auto-Step to record a difficult chord passage.
  5104.  
  5105. Make sure Auto-Step is enabled in the EDIT menu (the menu item should
  5106. appear checked).
  5107.  
  5108. Click the tool word GRID to open the Grid requester, and set the Grid
  5109. Size and Duration to sixteenth notes.
  5110.  
  5111. Click the PAUSE button to freeze the clock.  It will appear
  5112. highlighted.
  5113.  
  5114. Click RECORD.  It will appear highlighted.
  5115.  
  5116. If the Edit Buffer is not currently empty, a safety prompt will appear to
  5117. prevent accidental loss.  Click NO to back out safely.  Otherwise, click
  5118. YES to proceed.
  5119.  
  5120. Press and hold all the notes of the first chord, one by one, until all
  5121. the chord is complete.  Do not release any notes until the chord is
  5122. complete, or the clock will move forward and all the notes will be
  5123. terminated.
  5124.  
  5125. Release the notes of the first chord.  The chord will appear in the
  5126. editor, and the clock will move forward.
  5127.  
  5128. Use the Grid requester to change the current Grid Size and Duration if
  5129. needed.
  5130.  
  5131. Press and hold all the notes of the second chord, one by one, until all
  5132. the chord is complete.
  5133.  
  5134. Release the notes of the second chord.  The chord will appear in the
  5135. editor, and the clock will move forward.
  5136.  
  5137. Repeat the previous three steps until all the chord passage is finished.
  5138. Then click the STOP button to stop recording.
  5139.  
  5140. CHANNEL SQUARE
  5141.  At the bottom of the Bar Editor Page is a small matrix consisting of the
  5142. numbers l through l6.  This is the MIDI Channel Square.  It has three
  5143. basic functions.
  5144.  
  5145.                    *********************
  5146.                    * 01 * 02 * 03 * 04 *
  5147.                    * 05 * 06 * 07 * 08 *
  5148.                    * 09 * 10 * 11 * 12 *
  5149.                    * 13 * 14 * 15 * 16 *
  5150.                    *********************
  5151.  
  5152. Illustration 7.l5: Channel Square
  5153.  
  5154. The first function is to indicate and change the MIDI channel number of
  5155. the current event.  When a new event is grabbed, the channel square will
  5156. highlight the channel number that event is on in white.  Choosing other
  5157. MIDI channels, by clicking on the Channel Square, will change the channel
  5158. number for that event.
  5159.  
  5160. The second function is to change the MIDI channel numbers of a group of
  5161. selected notes.  After selecting one or more events with the SELECT
  5162. function, click on a channel number in the MIDI channel square.  All the
  5163. selected events will take on the new MIDI channel assignment.
  5164.  
  5165. (See Bar Editor / Select)
  5166.  
  5167. The third function of the Channel Square is as a selection tool when
  5168. using the LOCK function.  When LOCK is highlighted, the channel square is
  5169. used to set which channels will be locked out of the display.  This can
  5170. be handy when editing composite sequences containing events on many MIDI
  5171. channels.  Locked channels are shown in red in the Channel Square.
  5172. Events on a locked channel are heard but not seen.  Clicking on a locked
  5173. channel in the Channel Square unlocks it.
  5174.  
  5175. (See Bar Editor / Select)
  5176.  
  5177. STEPANDBACK
  5178. (")" from the keyboard)
  5179. ("(" from the keyboard)
  5180.  
  5181. Just to the right of the Channel Square are two buttons labeled STEP and
  5182. BACK.  These are used during Step recording to advance or rewind the
  5183. clock.  The editor must be in record mode, with the PAUSE button on.
  5184.  
  5185. STEP and BACK are designed to be used during Record only and have no
  5186. audible effect during Play or when the clock is stopped.
  5187.  
  5188. When STEP is clicked during Step record, the clock will move forward in
  5189. increments of the current Grid Size, as set in the GRID requester.  For
  5190. example if the current Grid Size is set to a sixteenth note the STEP
  5191. button will advance the clock by one sixteenth note (48 clocks) each time
  5192. it is clicked.
  5193.  
  5194. When BACK is clicked during Step record, the last note recorded will be
  5195. erased, and the clock will be moved back to the beginning of that note.
  5196. If the last note erased is one of multiple Notes with the same start
  5197. times, the clock will not be moved back until all of them have been
  5198. erased by clicking the BACK button repeatedly.  This can be handy during
  5199. Step record when adding in the notes of a chord one by one.  If you make
  5200. a mistake, click BACK to erase only the most recently played note, and
  5201. try it again.
  5202.  
  5203. Use the Grid requested to set the Grid Size and determine how much the
  5204. clock will move each time STEP is clicked.
  5205.  
  5206. (See Bar Editor / Grid)
  5207.  
  5208. *Note:  Using a Keymap, one or more keys on the mother keyboard can be
  5209. set up to trigger the Music-X command TIME STEP which is equivalent to
  5210. clicking  the STEP button.  The clock can also be automatically advanced
  5211. in response to notes played on the mother keyboard during record, using
  5212. AUTO-STEP mode.
  5213.  
  5214. (See Keymap Editor / Action List / Music-X Command / Time Step)
  5215. (See Bar Editor / Edit Menu / Auto-Step)
  5216. (See Bar Editor / Recording Modes / with Auto-Step)
  5217.  
  5218. VIRTUALSLIDERS
  5219.  
  5220.                           **********************
  5221.                     NT    *        064         *
  5222.                           **********************
  5223.                    AVL    *        064         *
  5224.                           **********************
  5225.                    RVL    *        064         *
  5226.                           **********************
  5227.  
  5228. Illustration 7.l6: Virtual Sliders
  5229.  
  5230. In the bottom right corner of the Bar Editor Page are three virtual
  5231. sliders.  These sliders have a number bar where most sliders have a drag
  5232. bar.  This means they can be used to both indicate a value, and change
  5233. that value.
  5234.  
  5235. In the Bar Editor, these sliders are provided to give quick access to
  5236. some of the parameters in the current event.  Each time a new event is
  5237. grabbed, the sliders reconfigure themselves to the parameters of that
  5238. kind of event.  Their names and ranges change automatically.  The basic
  5239. process when editing events is to first click on an event, then adjust
  5240. the sliders.
  5241.  
  5242. (See Bar Editor / Event Types)
  5243.  
  5244. Coarse changes in a slider's value are made by grabbing and dragging the
  5245. number bar.  Fine changes are made by clicking on either side of the
  5246. number bar (within the slider's field of travel) to increase or decrease
  5247. its value.
  5248.  
  5249. *Note:  When first entering the Bar Editor, the virtual sliders will
  5250. appear dormant (having no associated parameters or names).  This is
  5251. because they auto-configure to the current event, and since no current
  5252. event is chosen, they have nothing to configure to.  When there is no
  5253. current event, the sliders should be ignored.
  5254.  
  5255. GRID:ANDDUR:
  5256.  These two indicators, found just underneath the virtual sliders, show
  5257. the current Grid Size and Duration in clocks (l/92 quarter note), as set
  5258. in the Grid Requester.  Since these numbers are used constantly by the
  5259. software when Adding or Inserting new events or when Quantizing or when
  5260. SNAP is on, it is handy to be able to see what they are.  These
  5261. indicators cannot be changed directly, you must change their values from
  5262. within the Grid requester.
  5263.  
  5264. (See Bar Editor / Grid)
  5265.  
  5266. End.
  5267.